Files
abap-llm/tasks_gen/train/G1011/hidden/repair_charge_hidden.clas.abap

98 lines
4.1 KiB
ABAP

CLASS {{p}}repair_charge_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 charge_c1 FOR TESTING.
METHODS charge_c2 FOR TESTING.
METHODS count_c1 FOR TESTING.
METHODS count_c2 FOR TESTING.
METHODS pairs_c1 FOR TESTING.
METHODS pairs_c2 FOR TESTING.
METHODS single_rate_ok FOR TESTING.
METHODS open_job_hidden FOR TESTING.
METHODS row_count FOR TESTING.
ENDCLASS.
CLASS {{p}}repair_charge_hidden IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_REPAIR_CHARGE' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_job TYPE STANDARD TABLE OF {{p}}job WITH EMPTY KEY.
DATA lt_rate TYPE STANDARD TABLE OF {{p}}rate WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_job = VALUE #(
( job_id = 'J1' customer = 'C1' shoe_type = 'BOOT' repair_type = 'SOLE' pairs = 2 job_state = 'D' )
( job_id = 'J2' customer = 'C1' shoe_type = 'SHOE' repair_type = 'HEEL' pairs = 1 job_state = 'D' )
( job_id = 'J3' customer = 'C2' shoe_type = 'BOOT' repair_type = 'SOLE' pairs = 3 job_state = 'D' )
( job_id = 'J4' customer = 'C3' shoe_type = 'BOOT' repair_type = 'SOLE' pairs = 1 job_state = 'O' )
( job_id = 'J5' customer = 'C2' shoe_type = 'BOOT' repair_type = 'HEEL' pairs = 1 job_state = 'D' )
( job_id = 'J6' customer = 'C4' shoe_type = 'SANDAL' repair_type = 'STRAP' pairs = 2 job_state = 'D' ) ).
lt_rate = VALUE #(
( shoe_type = 'BOOT' repair_type = 'SOLE' price = '12.50' )
( shoe_type = 'BOOT' repair_type = 'HEEL' price = '6.25' )
( shoe_type = 'SHOE' repair_type = 'HEEL' price = '4.00' )
( shoe_type = 'SHOE' repair_type = 'SOLE' price = '3.75' )
( shoe_type = 'SANDAL' repair_type = 'STRAP' price = '5.00' ) ).
go_env->insert_test_data( lt_job ).
go_env->insert_test_data( lt_rate ).
ENDMETHOD.
METHOD charge_c1.
SELECT SINGLE total_charge FROM {{p}}i_repair_charge WHERE customer = 'C1' INTO @DATA(lv_charge).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '29.00' )
act = CONV decfloat34( lv_charge ) ).
ENDMETHOD.
METHOD charge_c2.
SELECT SINGLE total_charge FROM {{p}}i_repair_charge WHERE customer = 'C2' INTO @DATA(lv_charge).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '43.75' )
act = CONV decfloat34( lv_charge ) ).
ENDMETHOD.
METHOD count_c1.
SELECT SINGLE job_count FROM {{p}}i_repair_charge WHERE customer = 'C1' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_count ).
ENDMETHOD.
METHOD count_c2.
SELECT SINGLE job_count FROM {{p}}i_repair_charge WHERE customer = 'C2' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_count ).
ENDMETHOD.
METHOD pairs_c1.
SELECT SINGLE total_pairs FROM {{p}}i_repair_charge WHERE customer = 'C1' INTO @DATA(lv_pairs).
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_pairs ).
ENDMETHOD.
METHOD pairs_c2.
SELECT SINGLE total_pairs FROM {{p}}i_repair_charge WHERE customer = 'C2' INTO @DATA(lv_pairs).
cl_abap_unit_assert=>assert_equals( exp = 4 act = lv_pairs ).
ENDMETHOD.
METHOD single_rate_ok.
SELECT SINGLE total_charge FROM {{p}}i_repair_charge WHERE customer = 'C4' INTO @DATA(lv_charge).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '10.00' )
act = CONV decfloat34( lv_charge ) ).
ENDMETHOD.
METHOD open_job_hidden.
SELECT COUNT(*) FROM {{p}}i_repair_charge WHERE customer = 'C3' INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rows ).
ENDMETHOD.
METHOD row_count.
SELECT COUNT(*) FROM {{p}}i_repair_charge INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_rows ).
ENDMETHOD.
ENDCLASS.