add basic unit test for recursive_struct_to_class (#1124)

* add basic unit test for recursive_struct_to_class

* Update zcl_excel_common.clas.testclasses.abap
This commit is contained in:
Lars Hvam 2024-01-29 07:21:05 +01:00 committed by GitHub
parent b4a79ebe6c
commit 1148838a0f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -125,12 +125,14 @@ CLASS lcl_excel_common_test DEFINITION 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_lowerside_out FOR TESTING.
METHODS recursive_struct_to_class FOR TESTING RAISING cx_static_check.
METHODS escape_string_whitespace1 FOR TESTING.
METHODS escape_string_whitespace2 FOR TESTING.
METHODS escape_string_whitespace3 FOR TESTING.
METHODS escape_string_quote FOR TESTING.
METHODS escape_string_hyphen FOR TESTING.
METHODS escape_string_regular FOR TESTING.
ENDCLASS.
@ -350,37 +352,37 @@ CLASS lcl_excel_common_test IMPLEMENTATION.
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.
METHOD convert_columnrow2column_a_row.
DATA: column TYPE zexcel_cell_column_alpha,
column_int TYPE zexcel_cell_column,
row TYPE zexcel_cell_row.
DATA: column TYPE zexcel_cell_column_alpha,
column_int TYPE zexcel_cell_column,
row TYPE zexcel_cell_row.
zcl_excel_common=>convert_columnrow2column_a_row(
EXPORTING
i_columnrow = 'B6'
IMPORTING
e_column = column
e_column_int = column_int
e_row = row ).
zcl_excel_common=>convert_columnrow2column_a_row(
EXPORTING
i_columnrow = 'B6'
IMPORTING
e_column = column
e_column_int = column_int
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_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 = 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 = row exp = 6 msg = 'Invalid row' ).
ENDMETHOD.
@ -1647,6 +1649,29 @@ CLASS lcl_excel_common_test IMPLEMENTATION.
ENDTRY.
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.
METHOD escape_string_hyphen.
DATA: name TYPE string,
escaped_name TYPE string.