Author: liuzhe
Date: Fri Aug 17 02:01:35 2012
New Revision: 1374129

URL: http://svn.apache.org/viewvc?rev=1374129&view=rev
Log:
#120591# - [Automation][UNO] Insert/Delete Rows and Columns in Spreadsheet.
Patch by: Guo Bin <[email protected]>
Review by: Liu Zhe <[email protected]>

Added:
    
incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sc/rowcolumn/InsertDeleteRowAndColumn.java

Added: 
incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sc/rowcolumn/InsertDeleteRowAndColumn.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sc/rowcolumn/InsertDeleteRowAndColumn.java?rev=1374129&view=auto
==============================================================================
--- 
incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sc/rowcolumn/InsertDeleteRowAndColumn.java
 (added)
+++ 
incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sc/rowcolumn/InsertDeleteRowAndColumn.java
 Fri Aug 17 02:01:35 2012
@@ -0,0 +1,143 @@
+
+
+
+
+package testcase.uno.sc.rowcolumn;
+
+import static org.junit.Assert.*;
+
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.openoffice.test.uno.UnoApp;
+
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.table.XTableRows;
+import com.sun.star.table.XColumnRowRange;
+
+/**
+ * Test insert or delete rows and columns
+ * @author test
+ *
+ */
+
+public class InsertDeleteRowAndColumn {
+       
+       UnoApp unoApp = new UnoApp();
+       XSpreadsheetDocument scDocument = null;
+       XComponent scComponent = null;
+       
+       @Before
+       public void setUp() throws Exception {
+               unoApp.start();
+       }
+
+       @After
+       public void tearDown() throws Exception {
+               unoApp.closeDocument(scComponent);
+               unoApp.close();
+               }
+       
+       @Test
+       public void testInsertDeleteRows() throws Exception {
+       
+               String sheetname = "sheet1";
+               scComponent = unoApp.newDocument("scalc");
+               scDocument = (XSpreadsheetDocument) 
UnoRuntime.queryInterface(XSpreadsheetDocument.class, scComponent);
+               XSpreadsheets spreadsheets = scDocument.getSheets();
+               Object sheetObj = spreadsheets.getByName(sheetname);
+       
+               
+               XSpreadsheet sheet = (XSpreadsheet) 
UnoRuntime.queryInterface(XSpreadsheet.class, sheetObj);
+               XColumnRowRange xCRRange = (XColumnRowRange) 
UnoRuntime.queryInterface( XColumnRowRange.class, sheet );
+           XTableRows xRows = xCRRange.getRows();
+           
+               // Create a cell series "A2:A8" with the values 1 ... 7.
+           int nRow = 1;
+           for (int i = 1; i < 8; ++i) {
+               sheet.getCellByPosition( 0, nRow ).setValue( nRow );
+            nRow += 1;
+               }
+               
+        //Insert a row between row 2 and row 3
+               xRows.insertByIndex( 2, 1 );
+                
+        //Get value of cell A3 
+        XCell cell = sheet.getCellByPosition(0, 2);
+        double checkvalue = 0.0;
+        
+        //Verify after insert row
+        assertEquals("Verify one new row inserted after Row 2",checkvalue, 
cell.getValue(),0);
+        
+        //Delete the row 3 and row 4
+        xRows.removeByIndex( 2, 2 );
+        
+        //Get value of cell A3 and A4  
+        XCell cellA3 = sheet.getCellByPosition(0, 2);
+        XCell cellA4 = sheet.getCellByPosition(0, 3);        
+        double checkvalueA3 = 3.0;
+        double checkvalueA4 = 4.0;
+        
+        //Verify after delete row3 and row4 
+        assertEquals("Verify tow rows deleted the value of row 
3",checkvalueA3, cellA3.getValue(),0);
+        assertEquals("Verify tow rows deleted the value of row 
4",checkvalueA4, cellA4.getValue(),0);
+    
+}
+
+@Test
+public void testInsertDeleteColumns() throws Exception {
+       
+       String sheetname = "sheet1";
+       scComponent = unoApp.newDocument("scalc");
+       scDocument = (XSpreadsheetDocument) 
UnoRuntime.queryInterface(XSpreadsheetDocument.class, scComponent);
+       XSpreadsheets spreadsheets = scDocument.getSheets();
+       Object sheetObj = spreadsheets.getByName(sheetname);
+
+       
+       XSpreadsheet sheet = (XSpreadsheet) 
UnoRuntime.queryInterface(XSpreadsheet.class, sheetObj);
+       XColumnRowRange xCRRange = (XColumnRowRange) UnoRuntime.queryInterface( 
XColumnRowRange.class, sheet );
+    XTableColumns xColumns = xCRRange.getColumns();
+       
+       // Create a cell series "A2:A8" with the values 1 ... 7.
+    int nRow = 1;
+    for (int i = 1; i < 8; ++i) {
+        sheet.getCellByPosition( 1, nRow ).setValue( nRow );
+        nRow += 1;
+       }
+               
+    //Insert a row between row 2 and row 3
+       xColumns.insertByIndex( 0, 1 );
+                
+    //Get value of cell C2 
+    XCell cell = sheet.getCellByPosition(2, 1);
+    double checkvalue = 1.0;
+    
+    //Verify after insert row
+    assertEquals("Verify if one new column inserted after Column 
A",checkvalue, cell.getValue(),0);
+    
+    //Delete the row 3 and row 4
+    xColumns.removeByIndex( 0, 1 );
+    
+    //Get value of cell A3 and A4  
+    XCell cellA3 = sheet.getCellByPosition(1, 2);
+    XCell cellA4 = sheet.getCellByPosition(1, 3);        
+    double checkvalueA3 = 2.0;
+    double checkvalueA4 = 3.0;
+    
+    //Verify after delete row3 and row4 
+    assertEquals("Verify after tow rows deleted, the value of 
A3",checkvalueA3, cellA3.getValue(),0);
+    assertEquals("Verify after tow rows deleted, the value of 
A4",checkvalueA4, cellA4.getValue(),0);
+
+  }
+
+}
+


Reply via email to