add basic unit test for recursive_struct_to_class

This commit is contained in:
larshp 2023-07-28 06:02:36 +00:00
parent 425b6a2b7d
commit d4fa2db930

View File

@ -122,6 +122,7 @@ CLASS lcl_excel_common_test DEFINITION FOR TESTING
METHODS is_cell_in_range_upperside_out FOR TESTING. METHODS is_cell_in_range_upperside_out FOR TESTING.
METHODS is_cell_in_range_rightside_out FOR TESTING. METHODS is_cell_in_range_rightside_out FOR TESTING.
METHODS is_cell_in_range_lowerside_out FOR TESTING. METHODS is_cell_in_range_lowerside_out FOR TESTING.
METHODS recursive_struct_to_class FOR TESTING RAISING cx_static_check.
ENDCLASS. ENDCLASS.
@ -341,37 +342,37 @@ CLASS lcl_excel_common_test IMPLEMENTATION.
METHOD convert_column_a_row2columnrow. METHOD convert_column_a_row2columnrow.
DATA: cell_coords TYPE string. DATA: cell_coords TYPE string.
cell_coords = zcl_excel_common=>convert_column_a_row2columnrow( i_column = 'B' i_row = 6 ). cell_coords = zcl_excel_common=>convert_column_a_row2columnrow( i_column = 'B' i_row = 6 ).
cl_abap_unit_assert=>assert_equals( act = cell_coords exp = 'B6' ). cl_abap_unit_assert=>assert_equals( act = cell_coords exp = 'B6' ).
cell_coords = zcl_excel_common=>convert_column_a_row2columnrow( i_column = 2 i_row = 6 ). cell_coords = zcl_excel_common=>convert_column_a_row2columnrow( i_column = 2 i_row = 6 ).
cl_abap_unit_assert=>assert_equals( act = cell_coords exp = 'B6' ). cl_abap_unit_assert=>assert_equals( act = cell_coords exp = 'B6' ).
ENDMETHOD. ENDMETHOD.
METHOD convert_columnrow2column_a_row. METHOD convert_columnrow2column_a_row.
DATA: column TYPE zexcel_cell_column_alpha, DATA: column TYPE zexcel_cell_column_alpha,
column_int TYPE zexcel_cell_column, column_int TYPE zexcel_cell_column,
row TYPE zexcel_cell_row. row TYPE zexcel_cell_row.
zcl_excel_common=>convert_columnrow2column_a_row( zcl_excel_common=>convert_columnrow2column_a_row(
EXPORTING EXPORTING
i_columnrow = 'B6' i_columnrow = 'B6'
IMPORTING IMPORTING
e_column = column e_column = column
e_column_int = column_int e_column_int = column_int
e_row = row ). e_row = row ).
cl_abap_unit_assert=>assert_equals( act = column exp = 'B' msg = 'Invalid column (alpha)' ). cl_abap_unit_assert=>assert_equals( act = column exp = 'B' msg = 'Invalid column (alpha)' ).
cl_abap_unit_assert=>assert_equals( act = column_int exp = 2 msg = 'Invalid column (numeric)' ). cl_abap_unit_assert=>assert_equals( act = column_int exp = 2 msg = 'Invalid column (numeric)' ).
cl_abap_unit_assert=>assert_equals( act = row exp = 6 msg = 'Invalid row' ). cl_abap_unit_assert=>assert_equals( act = row exp = 6 msg = 'Invalid row' ).
ENDMETHOD. ENDMETHOD.
@ -1597,4 +1598,28 @@ CLASS lcl_excel_common_test IMPLEMENTATION.
ENDTRY. ENDTRY.
ENDMETHOD. "is_cell_in_range_lowerside_out. ENDMETHOD. "is_cell_in_range_lowerside_out.
METHOD recursive_struct_to_class.
DATA style TYPE REF TO zcl_excel_style.
DATA complete_style TYPE zexcel_s_cstyle_complete.
DATA complete_stylex TYPE zexcel_s_cstylex_complete.
CREATE OBJECT style.
complete_style-number_format-format_code = 'hello'.
complete_stylex-number_format-format_code = abap_true.
zcl_excel_common=>recursive_struct_to_class(
EXPORTING
i_source = complete_style
i_sourcex = complete_stylex
CHANGING
e_target = style ).
cl_abap_unit_assert=>assert_equals(
act = style->number_format->format_code
exp = 'hello' ).
ENDMETHOD.
ENDCLASS. ENDCLASS.