Files
abap/exercises/practice/itab-basics/zcl_itab_basics.clas.testclasses.abap

96 lines
3.4 KiB
ABAP
Raw Normal View History

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.