diff --git a/src/zcl_excel_style_changer.clas.testclasses.abap b/src/zcl_excel_style_changer.clas.testclasses.abap
new file mode 100644
index 0000000..352d324
--- /dev/null
+++ b/src/zcl_excel_style_changer.clas.testclasses.abap
@@ -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.
diff --git a/src/zcl_excel_style_changer.clas.xml b/src/zcl_excel_style_changer.clas.xml
index 5b262b8..a357d83 100644
--- a/src/zcl_excel_style_changer.clas.xml
+++ b/src/zcl_excel_style_changer.clas.xml
@@ -10,6 +10,7 @@
X
X
X
+ X
diff --git a/src/zcl_excel_worksheet.clas.testclasses.abap b/src/zcl_excel_worksheet.clas.testclasses.abap
index 65d9be1..3493506 100644
--- a/src/zcl_excel_worksheet.clas.testclasses.abap
+++ b/src/zcl_excel_worksheet.clas.testclasses.abap
@@ -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