96 lines
3.7 KiB
ABAP
96 lines
3.7 KiB
ABAP
CLASS {{p}}t21_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 one_row_per_truck FOR TESTING.
|
|
METHODS depot_name_via_path FOR TESTING.
|
|
METHODS city_via_path FOR TESTING.
|
|
METHODS depot_names_of_all FOR TESTING.
|
|
METHODS zero_capacity_hidden FOR TESTING.
|
|
METHODS unknown_depot_hidden FOR TESTING.
|
|
METHODS truck_type_shown FOR TESTING.
|
|
METHODS capacity_shown FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t21_hidden IMPLEMENTATION.
|
|
METHOD class_setup.
|
|
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_TRUCK' ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
DATA lt_depot TYPE STANDARD TABLE OF {{p}}depot WITH EMPTY KEY.
|
|
DATA lt_truck TYPE STANDARD TABLE OF {{p}}truck WITH EMPTY KEY.
|
|
go_env->clear_doubles( ).
|
|
lt_depot = VALUE #(
|
|
( client = sy-mandt depot_id = 'D1' depot_name = 'North Depot' city = 'HAMBURG' )
|
|
( client = sy-mandt depot_id = 'D2' depot_name = 'South Depot' city = 'MUNICH' ) ).
|
|
lt_truck = VALUE #(
|
|
( client = sy-mandt truck_id = 'T1' depot_id = 'D1' capacity_kg = 12000 truck_type = 'BOX' )
|
|
( client = sy-mandt truck_id = 'T2' depot_id = 'D1' capacity_kg = 7500 truck_type = 'FLAT' )
|
|
( client = sy-mandt truck_id = 'T3' depot_id = 'D2' capacity_kg = 20000 truck_type = 'BOX' )
|
|
( client = sy-mandt truck_id = 'T4' depot_id = 'D2' capacity_kg = 0 truck_type = 'BOX' )
|
|
( client = sy-mandt truck_id = 'T5' depot_id = 'D9' capacity_kg = 5000 truck_type = 'BOX' ) ).
|
|
go_env->insert_test_data( lt_depot ).
|
|
go_env->insert_test_data( lt_truck ).
|
|
ENDMETHOD.
|
|
|
|
METHOD one_row_per_truck.
|
|
SELECT COUNT(*) FROM {{p}}i_truck INTO @DATA(lv_rows).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_rows ).
|
|
ENDMETHOD.
|
|
|
|
METHOD depot_name_via_path.
|
|
SELECT SINGLE t~\_depot-depot_name FROM {{p}}i_truck AS t
|
|
WHERE t~truck_id = 'T1' INTO @DATA(lv_name).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'North Depot' act = lv_name ).
|
|
ENDMETHOD.
|
|
|
|
METHOD city_via_path.
|
|
SELECT SINGLE t~\_depot-city FROM {{p}}i_truck AS t
|
|
WHERE t~truck_id = 'T3' INTO @DATA(lv_city).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'MUNICH' act = lv_city ).
|
|
ENDMETHOD.
|
|
|
|
METHOD depot_names_of_all.
|
|
SELECT t~truck_id, t~\_depot-depot_name AS depot_name
|
|
FROM {{p}}i_truck AS t INTO TABLE @DATA(lt_rows).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = lines( lt_rows ) ).
|
|
READ TABLE lt_rows INTO DATA(ls_row) WITH KEY truck_id = 'T3'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'South Depot' act = ls_row-depot_name ).
|
|
ENDMETHOD.
|
|
|
|
METHOD zero_capacity_hidden.
|
|
SELECT SINGLE t~truck_id FROM {{p}}i_truck AS t
|
|
WHERE t~truck_id = 'T4' INTO @DATA(lv_id).
|
|
cl_abap_unit_assert=>assert_equals( exp = 4 act = sy-subrc ).
|
|
cl_abap_unit_assert=>assert_initial( act = lv_id ).
|
|
ENDMETHOD.
|
|
|
|
METHOD unknown_depot_hidden.
|
|
SELECT SINGLE t~truck_id FROM {{p}}i_truck AS t
|
|
WHERE t~truck_id = 'T5' INTO @DATA(lv_id).
|
|
cl_abap_unit_assert=>assert_equals( exp = 4 act = sy-subrc ).
|
|
cl_abap_unit_assert=>assert_initial( act = lv_id ).
|
|
ENDMETHOD.
|
|
|
|
METHOD truck_type_shown.
|
|
SELECT SINGLE t~truck_type FROM {{p}}i_truck AS t
|
|
WHERE t~truck_id = 'T2' INTO @DATA(lv_type).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'FLAT' act = lv_type ).
|
|
ENDMETHOD.
|
|
|
|
METHOD capacity_shown.
|
|
SELECT SINGLE t~capacity_kg FROM {{p}}i_truck AS t
|
|
WHERE t~truck_id = 'T3' INTO @DATA(lv_capacity).
|
|
cl_abap_unit_assert=>assert_equals( exp = 20000 act = lv_capacity ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|