Files
abap-llm/tasks_gen/train/G1052/hidden/t_bike_hid.clas.abap

85 lines
3.6 KiB
ABAP

CLASS {{p}}t_bike_hid DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
CLASS-METHODS class_setup.
CLASS-METHODS class_teardown.
METHODS setup.
METHODS heavy_bikes_only FOR TESTING.
METHODS boundary_excluded FOR TESTING.
METHODS light_bike_excluded FOR TESTING.
METHODS bike_without_rides FOR TESTING.
METHODS ride_count_shown FOR TESTING.
METHODS total_distance_shown FOR TESTING.
METHODS station_shown FOR TESTING.
ENDCLASS.
CLASS {{p}}t_bike_hid IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_BIKE_USE' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_bike TYPE STANDARD TABLE OF {{p}}bike WITH EMPTY KEY.
DATA lt_ride TYPE STANDARD TABLE OF {{p}}ride WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_bike = VALUE #( ( bike_id = 'B1' station = 'NORD' bike_type = 'E' )
( bike_id = 'B2' station = 'SUED' bike_type = 'C' )
( bike_id = 'B3' station = 'WEST' bike_type = 'C' )
( bike_id = 'B4' station = 'OST' bike_type = 'E' )
( bike_id = 'B5' station = 'NORD' bike_type = 'C' ) ).
lt_ride = VALUE #( ( ride_id = 'R01' bike_id = 'B1' ride_date = '20240101' distance_km = '20.0' )
( ride_id = 'R02' bike_id = 'B1' ride_date = '20240102' distance_km = '30.0' )
( ride_id = 'R03' bike_id = 'B2' ride_date = '20240103' distance_km = '25.5' )
( ride_id = 'R04' bike_id = 'B2' ride_date = '20240104' distance_km = '30.0' )
( ride_id = 'R05' bike_id = 'B3' ride_date = '20240105' distance_km = '10.0' )
( ride_id = 'R06' bike_id = 'B4' ride_date = '20240106' distance_km = '40.0' )
( ride_id = 'R07' bike_id = 'B4' ride_date = '20240107' distance_km = '40.0' )
( ride_id = 'R08' bike_id = 'B4' ride_date = '20240108' distance_km = '25.0' ) ).
go_env->insert_test_data( lt_bike ).
go_env->insert_test_data( lt_ride ).
ENDMETHOD.
METHOD heavy_bikes_only.
SELECT COUNT(*) FROM {{p}}i_bike_use INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_rows ).
ENDMETHOD.
METHOD boundary_excluded.
SELECT COUNT(*) FROM {{p}}i_bike_use WHERE bike_id = 'B1' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rows ).
ENDMETHOD.
METHOD light_bike_excluded.
SELECT COUNT(*) FROM {{p}}i_bike_use WHERE bike_id = 'B3' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rows ).
ENDMETHOD.
METHOD bike_without_rides.
SELECT COUNT(*) FROM {{p}}i_bike_use WHERE bike_id = 'B5' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rows ).
ENDMETHOD.
METHOD ride_count_shown.
SELECT SINGLE ride_count FROM {{p}}i_bike_use WHERE bike_id = 'B2' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_count ).
ENDMETHOD.
METHOD total_distance_shown.
SELECT SINGLE total_distance FROM {{p}}i_bike_use WHERE bike_id = 'B4' INTO @DATA(lv_total).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '105.0' )
act = CONV decfloat34( lv_total ) ).
ENDMETHOD.
METHOD station_shown.
SELECT SINGLE station FROM {{p}}i_bike_use WHERE bike_id = 'B2' INTO @DATA(lv_station).
cl_abap_unit_assert=>assert_equals( exp = 'SUED' act = lv_station ).
ENDMETHOD.
ENDCLASS.