Files
abap-llm/tasks_gen/train/G1931/hidden/e_rental_hidden.clas.abap
2026-10-05 22:08:59 +02:00

132 lines
4.6 KiB
ABAP

CLASS {{p}}e_rental_hidden 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 short_low_season FOR TESTING.
METHODS short_high_season FOR TESTING.
METHODS free_day_at_seven FOR TESTING.
METHODS free_day_group_a FOR TESTING.
METHODS six_days_no_free FOR TESTING.
METHODS long_group_c FOR TESTING.
METHODS unknown_group FOR TESTING.
METHODS unknown_season FOR TESTING.
METHODS seven_days_group_b FOR TESTING.
METHODS columns_shown FOR TESTING.
METHODS all_rows_shown FOR TESTING.
ENDCLASS.
CLASS {{p}}e_rental_hidden IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_RENTAL_FEE' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_rental TYPE STANDARD TABLE OF {{p}}rental WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_rental = VALUE #(
( rental_id = 'R01' car_group = 'A' season = 'L' rental_days = 3 )
( rental_id = 'R02' car_group = 'B' season = 'H' rental_days = 2 )
( rental_id = 'R03' car_group = 'C' season = 'L' rental_days = 7 )
( rental_id = 'R04' car_group = 'A' season = 'H' rental_days = 10 )
( rental_id = 'R05' car_group = 'B' season = 'L' rental_days = 6 )
( rental_id = 'R06' car_group = 'C' season = 'H' rental_days = 14 )
( rental_id = 'R07' car_group = 'X' season = 'L' rental_days = 1 )
( rental_id = 'R08' car_group = 'A' season = 'X' rental_days = 1 )
( rental_id = 'R09' car_group = 'B' season = 'H' rental_days = 7 ) ).
go_env->insert_test_data( lt_rental ).
ENDMETHOD.
METHOD short_low_season.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R01' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '100.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD short_high_season.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R02' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '135.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD free_day_at_seven.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R03' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '505.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD free_day_group_a.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R04' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '334.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD six_days_no_free.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R05' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '315.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD long_group_c.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R06' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '1273.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD unknown_group.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R07' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '40.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD unknown_season.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R08' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '40.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD seven_days_group_b.
SELECT SINGLE fee FROM {{p}}i_rental_fee
WHERE rental_id = 'R09' INTO @DATA(lv_fee).
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '375.00' )
act = CONV decfloat34( lv_fee ) ).
ENDMETHOD.
METHOD columns_shown.
SELECT SINGLE rental_id, car_group, rental_days FROM {{p}}i_rental_fee
WHERE rental_id = 'R01' INTO @DATA(ls_row).
cl_abap_unit_assert=>assert_equals( exp = 'R01' act = ls_row-rental_id ).
cl_abap_unit_assert=>assert_equals( exp = 'A' act = ls_row-car_group ).
cl_abap_unit_assert=>assert_equals( exp = 3 act = ls_row-rental_days ).
ENDMETHOD.
METHOD all_rows_shown.
SELECT COUNT(*) FROM {{p}}i_rental_fee INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 9 act = lv_rows ).
ENDMETHOD.
ENDCLASS.