98 lines
4.1 KiB
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.
|