From 1148838a0f00999ae0537e7984aa25295cd7cf65 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Mon, 29 Jan 2024 07:21:05 +0100 Subject: [PATCH] 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 --- src/zcl_excel_common.clas.testclasses.abap | 61 +++++++++++++++------- 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/src/zcl_excel_common.clas.testclasses.abap b/src/zcl_excel_common.clas.testclasses.abap index 26313f7..011dc9d 100644 --- a/src/zcl_excel_common.clas.testclasses.abap +++ b/src/zcl_excel_common.clas.testclasses.abap @@ -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.