87 lines
3.3 KiB
ABAP
87 lines
3.3 KiB
ABAP
CLASS {{p}}t31_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 all_bricks_shown FOR TESTING.
|
|
METHODS mould_kept FOR TESTING.
|
|
METHODS mould_family FOR TESTING.
|
|
METHODS volume_of_brick FOR TESTING.
|
|
METHODS weight_in_kg FOR TESTING.
|
|
METHODS class_large FOR TESTING.
|
|
METHODS class_medium FOR TESTING.
|
|
METHODS class_small FOR TESTING.
|
|
METHODS class_boundary FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t31_hidden IMPLEMENTATION.
|
|
METHOD class_setup.
|
|
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_BRICK_SIZE' ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
DATA lt_brick TYPE STANDARD TABLE OF {{p}}brick WITH EMPTY KEY.
|
|
go_env->clear_doubles( ).
|
|
lt_brick = VALUE #(
|
|
( brick_id = 'B1' mould = 'NF01' length_mm = 240 width_mm = 115 height_mm = 71 weight_g = 3200 )
|
|
( brick_id = 'B2' mould = 'WF02' length_mm = 300 width_mm = 200 height_mm = 150 weight_g = 8000 )
|
|
( brick_id = 'B3' mould = 'NF03' length_mm = 200 width_mm = 100 height_mm = 50 weight_g = 1500 )
|
|
( brick_id = 'B4' mould = 'BLK1' length_mm = 250 width_mm = 120 height_mm = 80 weight_g = 5000 ) ).
|
|
go_env->insert_test_data( lt_brick ).
|
|
ENDMETHOD.
|
|
|
|
METHOD all_bricks_shown.
|
|
SELECT COUNT(*) FROM {{p}}i_brick_size INTO @DATA(lv_rows).
|
|
cl_abap_unit_assert=>assert_equals( exp = 4 act = lv_rows ).
|
|
ENDMETHOD.
|
|
|
|
METHOD mould_kept.
|
|
SELECT SINGLE mould FROM {{p}}i_brick_size WHERE brick_id = 'B2' INTO @DATA(lv_mould).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'WF02' act = lv_mould ).
|
|
ENDMETHOD.
|
|
|
|
METHOD mould_family.
|
|
SELECT SINGLE mould_family FROM {{p}}i_brick_size WHERE brick_id = 'B4' INTO @DATA(lv_family).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'BL' act = lv_family ).
|
|
ENDMETHOD.
|
|
|
|
METHOD volume_of_brick.
|
|
SELECT SINGLE volume_cm3 FROM {{p}}i_brick_size WHERE brick_id = 'B1' INTO @DATA(lv_volume).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '1959.6' )
|
|
act = CONV decfloat34( lv_volume ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD weight_in_kg.
|
|
SELECT SINGLE weight_kg FROM {{p}}i_brick_size WHERE brick_id = 'B2' INTO @DATA(lv_weight).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '8' )
|
|
act = CONV decfloat34( lv_weight ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_large.
|
|
SELECT SINGLE size_class FROM {{p}}i_brick_size WHERE brick_id = 'B2' INTO @DATA(lv_class).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'L' act = lv_class ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_medium.
|
|
SELECT SINGLE size_class FROM {{p}}i_brick_size WHERE brick_id = 'B1' INTO @DATA(lv_class).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'M' act = lv_class ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_small.
|
|
SELECT SINGLE size_class FROM {{p}}i_brick_size WHERE brick_id = 'B3' INTO @DATA(lv_class).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'S' act = lv_class ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_boundary.
|
|
SELECT SINGLE size_class FROM {{p}}i_brick_size WHERE brick_id = 'B4' INTO @DATA(lv_class).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'L' act = lv_class ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|