2022-08-05 09:01:30 -04:00
|
|
|
CLASS ltcl_itab_basics DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
|
|
|
|
PRIVATE SECTION.
|
|
|
|
|
DATA cut TYPE REF TO zcl_itab_basics.
|
|
|
|
|
METHODS setup.
|
|
|
|
|
METHODS test_fill_itab FOR TESTING RAISING cx_static_check.
|
2022-08-10 08:48:54 -04:00
|
|
|
METHODS test_add_to_itab_empty FOR TESTING RAISING cx_static_check.
|
2022-08-05 09:01:30 -04:00
|
|
|
METHODS test_add_to_itab FOR TESTING RAISING cx_static_check.
|
2022-08-10 08:48:54 -04:00
|
|
|
METHODS test_sort_itab_empty FOR TESTING RAISING cx_static_check.
|
2022-08-05 09:01:30 -04:00
|
|
|
METHODS test_sort_itab FOR TESTING RAISING cx_static_check.
|
2022-08-10 08:48:54 -04:00
|
|
|
METHODS test_search_itab_empty FOR TESTING RAISING cx_static_check.
|
2022-08-05 09:01:30 -04:00
|
|
|
METHODS test_search_itab FOR TESTING RAISING cx_static_check.
|
|
|
|
|
ENDCLASS.
|
|
|
|
|
CLASS ltcl_itab_basics IMPLEMENTATION.
|
|
|
|
|
|
|
|
|
|
METHOD setup.
|
|
|
|
|
cut = NEW zcl_itab_basics( ).
|
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
|
|
|
|
METHOD test_fill_itab.
|
|
|
|
|
|
2022-08-10 08:48:54 -04:00
|
|
|
DATA(actual) = cut->fill_itab( ).
|
|
|
|
|
cl_abap_unit_assert=>assert_not_initial( actual ).
|
|
|
|
|
|
2022-08-05 09:01:30 -04:00
|
|
|
DATA(expected_values) = VALUE zcl_itab_basics=>itab_data_type(
|
|
|
|
|
( group = 'A' number = 10 description = 'Group A-2' )
|
|
|
|
|
( group = 'B' number = 5 description = 'Group B' )
|
|
|
|
|
( group = 'A' number = 6 description = 'Group A-1' )
|
|
|
|
|
( group = 'C' number = 22 description = 'Group C-1' )
|
|
|
|
|
( group = 'A' number = 13 description = 'Group A-3' )
|
|
|
|
|
( group = 'C' number = 500 description = 'Group C-2' ) ).
|
|
|
|
|
|
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
|
|
|
act = cut->fill_itab( )
|
|
|
|
|
exp = expected_values ).
|
|
|
|
|
|
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
2022-08-10 08:48:54 -04:00
|
|
|
METHOD test_add_to_itab_empty.
|
|
|
|
|
|
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
|
|
|
act = lines( cut->add_to_itab( VALUE #( ) ) )
|
|
|
|
|
exp = 1 ).
|
|
|
|
|
|
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
2022-08-05 09:01:30 -04:00
|
|
|
|
|
|
|
|
METHOD test_add_to_itab.
|
2022-08-10 08:48:54 -04:00
|
|
|
|
2022-08-05 09:01:30 -04:00
|
|
|
DATA(expected_values) = VALUE zcl_itab_basics=>itab_data_type(
|
|
|
|
|
( group = 'A' number = 10 description = 'Group A-2' )
|
|
|
|
|
( group = 'B' number = 5 description = 'Group B' )
|
|
|
|
|
( group = 'A' number = 6 description = 'Group A-1' )
|
|
|
|
|
( group = 'C' number = 22 description = 'Group C-1' )
|
|
|
|
|
( group = 'A' number = 13 description = 'Group A-3' )
|
|
|
|
|
( group = 'C' number = 500 description = 'Group C-2' )
|
|
|
|
|
( group = 'A' number = 19 description = 'Group A-4' ) ).
|
|
|
|
|
|
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
2022-08-10 08:48:54 -04:00
|
|
|
act = cut->add_to_itab( cut->fill_itab( ) )
|
2022-08-05 09:01:30 -04:00
|
|
|
exp = expected_values ).
|
2022-08-10 08:48:54 -04:00
|
|
|
|
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
|
|
|
|
METHOD test_sort_itab_empty.
|
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
|
|
|
act = cut->sort_itab( VALUE #( ) )
|
|
|
|
|
exp = VALUE zcl_itab_basics=>itab_data_type( ) ).
|
2022-08-05 09:01:30 -04:00
|
|
|
ENDMETHOD.
|
|
|
|
|
|
|
|
|
|
METHOD test_sort_itab.
|
|
|
|
|
DATA(expected_values) = VALUE zcl_itab_basics=>itab_data_type(
|
|
|
|
|
( group = 'A' number = 19 description = 'Group A-4' )
|
|
|
|
|
( group = 'A' number = 13 description = 'Group A-3' )
|
|
|
|
|
( group = 'A' number = 10 description = 'Group A-2' )
|
|
|
|
|
( group = 'A' number = 6 description = 'Group A-1' )
|
|
|
|
|
( group = 'B' number = 5 description = 'Group B' )
|
|
|
|
|
( group = 'C' number = 500 description = 'Group C-2' )
|
|
|
|
|
( group = 'C' number = 22 description = 'Group C-1' ) ).
|
|
|
|
|
|
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
2022-08-10 08:48:54 -04:00
|
|
|
act = cut->sort_itab( cut->add_to_itab( cut->fill_itab( ) ) )
|
2022-08-05 09:01:30 -04:00
|
|
|
exp = expected_values ).
|
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
2022-08-10 08:48:54 -04:00
|
|
|
METHOD test_search_itab_empty.
|
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
|
|
|
act = cut->search_itab( VALUE #( ) )
|
|
|
|
|
exp = 0 ).
|
|
|
|
|
ENDMETHOD.
|
2022-08-05 09:01:30 -04:00
|
|
|
|
|
|
|
|
METHOD test_search_itab.
|
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
2022-08-10 08:48:54 -04:00
|
|
|
act = cut->search_itab( cut->sort_itab( cut->add_to_itab( cut->fill_itab( ) ) ) )
|
2022-08-05 09:01:30 -04:00
|
|
|
exp = 4 ).
|
|
|
|
|
ENDMETHOD.
|
|
|
|
|
ENDCLASS.
|