Merge branch 'main' into hvam/unit0511

This commit is contained in:
Lars Hvam 2023-07-28 07:02:25 +02:00 committed by GitHub
commit 6589ef44d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 115 additions and 13 deletions

View File

@ -0,0 +1,41 @@
CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL.
PRIVATE SECTION.
DATA mi_cut TYPE REF TO zif_excel_style_changer.
DATA mo_excel TYPE REF TO zcl_excel.
DATA mo_worksheet TYPE REF TO zcl_excel_worksheet.
METHODS setup RAISING cx_static_check.
METHODS apply FOR TESTING RAISING cx_static_check.
ENDCLASS.
CLASS ltcl_test IMPLEMENTATION.
METHOD setup.
CREATE OBJECT mo_excel.
mo_worksheet = mo_excel->get_active_worksheet( ).
mi_cut = zcl_excel_style_changer=>create( mo_excel ).
ENDMETHOD.
METHOD apply.
DATA lv_guid TYPE zexcel_cell_style.
mo_worksheet->set_cell(
ip_column = 'B'
ip_row = 2
ip_value = 'Hello' ).
mi_cut->set_font_bold( abap_true ).
lv_guid = mi_cut->apply(
ip_worksheet = mo_worksheet
ip_column = 'B'
ip_row = 2 ).
mo_excel->get_style_to_guid( lv_guid ).
ENDMETHOD.
ENDCLASS.

View File

@ -10,6 +10,7 @@
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
</VSEOCLASS>
</asx:values>
</asx:abap>

View File

@ -30,9 +30,15 @@ CLASS lcl_excel_worksheet_test DEFINITION FOR TESTING
METHODS: setup.
METHODS: teardown.
METHODS: set_merge FOR TESTING RAISING cx_static_check.
METHODS: delete_merge FOR TESTING RAISING cx_static_check.
METHODS: get_dimension_range FOR TESTING RAISING cx_static_check.
ENDCLASS. "lcl_Excel_Worksheet_Test
METHODS delete_merge1 FOR TESTING RAISING cx_static_check.
METHODS delete_merge2 FOR TESTING RAISING cx_static_check.
METHODS delete_merge3 FOR TESTING RAISING cx_static_check.
METHODS delete_merge4 FOR TESTING RAISING cx_static_check.
METHODS delete_merge5 FOR TESTING RAISING cx_static_check.
METHODS delete_merge6 FOR TESTING RAISING cx_static_check.
METHODS get_dimension_range FOR TESTING RAISING cx_static_check.
METHODS get_rows_iterator FOR TESTING RAISING cx_static_check.
ENDCLASS.
CLASS ltc_calculate_table_bottom_rig DEFINITION FOR TESTING
@ -465,12 +471,11 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
ENDMETHOD.
METHOD delete_merge.
METHOD delete_merge1.
* ====================
DATA lt_merge TYPE string_table.
DATA lv_merge TYPE string.
DATA lv_size TYPE i.
DATA lv_index TYPE i.
* Test 1. Simple test delete all merges
@ -491,6 +496,13 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
msg = 'Expect merge table with 1 line fully cleared'
level = if_aunit_constants=>critical
).
ENDMETHOD.
METHOD delete_merge2.
* ====================
DATA lt_merge TYPE string_table.
DATA lv_merge TYPE string.
DATA lv_size TYPE i.
* Test 2. Simple test delete all merges
@ -513,7 +525,14 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
msg = 'Expect merge table with few lines fully cleared'
level = if_aunit_constants=>critical
).
ENDMETHOD.
METHOD delete_merge3.
* ====================
DATA lt_merge TYPE string_table.
DATA lv_merge TYPE string.
DATA lv_size TYPE i.
DATA lv_index TYPE i.
* Test 3. Delete concrete merge with success
DO 4 TIMES.
@ -529,10 +548,14 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
).
CASE lv_index.
WHEN 1. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 2 ).
WHEN 2. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 3 ).
WHEN 3. f_cut->delete_merge( ip_cell_column = 3 ip_cell_row = 2 ).
WHEN 4. f_cut->delete_merge( ip_cell_column = 3 ip_cell_row = 3 ).
WHEN 1.
f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 2 ).
WHEN 2.
f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 3 ).
WHEN 3.
f_cut->delete_merge( ip_cell_column = 3 ip_cell_row = 2 ).
WHEN 4.
f_cut->delete_merge( ip_cell_column = 3 ip_cell_row = 3 ).
ENDCASE.
lt_merge = f_cut->get_merge( ).
@ -545,7 +568,14 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
level = if_aunit_constants=>critical
).
ENDDO.
ENDMETHOD.
METHOD delete_merge4.
* ====================
DATA lt_merge TYPE string_table.
DATA lv_merge TYPE string.
DATA lv_size TYPE i.
DATA lv_index TYPE i.
* Test 4. Delete concrete merge with fail
DO 4 TIMES.
@ -561,10 +591,14 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
).
CASE lv_index.
WHEN 1. f_cut->delete_merge( ip_cell_column = 1 ip_cell_row = 2 ).
WHEN 2. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 1 ).
WHEN 3. f_cut->delete_merge( ip_cell_column = 4 ip_cell_row = 2 ).
WHEN 4. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 4 ).
WHEN 1.
f_cut->delete_merge( ip_cell_column = 1 ip_cell_row = 2 ).
WHEN 2.
f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 1 ).
WHEN 3.
f_cut->delete_merge( ip_cell_column = 4 ip_cell_row = 2 ).
WHEN 4.
f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 4 ).
ENDCASE.
lt_merge = f_cut->get_merge( ).
@ -577,6 +611,13 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
level = if_aunit_constants=>critical
).
ENDDO.
ENDMETHOD.
METHOD delete_merge5.
* ====================
DATA lt_merge TYPE string_table.
DATA lv_merge TYPE string.
DATA lv_size TYPE i.
* Test 5. Delete concrete merge #1
@ -614,6 +655,13 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
msg = 'Expect delete B2:C3 merge'
level = if_aunit_constants=>critical
).
ENDMETHOD.
METHOD delete_merge6.
* ====================
DATA lt_merge TYPE string_table.
DATA lv_merge TYPE string.
DATA lv_size TYPE i.
* Test 6. Delete concrete merge #2
@ -682,6 +730,18 @@ CLASS lcl_excel_worksheet_test IMPLEMENTATION.
).
ENDMETHOD.
METHOD get_rows_iterator.
DATA lo_iterator TYPE REF TO zcl_excel_collection_iterator.
DATA lv_index TYPE i.
f_cut->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
lo_iterator = f_cut->get_rows_iterator( ).
lv_index = lo_iterator->get_index( ).
cl_abap_unit_assert=>assert_equals(
act = lv_index
exp = 0 ).
ENDMETHOD.
ENDCLASS. "lcl_Excel_Worksheet_Test