Line 0
Link Here
|
|
|
1 |
package testcase.uno.sc.cell; |
2 |
|
3 |
import static org.junit.Assert.*; |
4 |
|
5 |
import org.junit.After; |
6 |
import org.junit.AfterClass; |
7 |
import org.junit.Before; |
8 |
import org.junit.BeforeClass; |
9 |
import org.junit.Test; |
10 |
|
11 |
import org.openoffice.test.common.Testspace; |
12 |
import org.openoffice.test.uno.UnoApp; |
13 |
|
14 |
import testlib.uno.SCUtil; |
15 |
import com.sun.star.lang.XComponent; |
16 |
import com.sun.star.sheet.XSpreadsheet; |
17 |
import com.sun.star.sheet.XSpreadsheetDocument; |
18 |
import com.sun.star.table.XCell; |
19 |
import com.sun.star.uno.UnoRuntime; |
20 |
import com.sun.star.table.XCellRange; |
21 |
import com.sun.star.sheet.XSheetAnnotations; |
22 |
import com.sun.star.sheet.XSheetAnnotationsSupplier; |
23 |
import com.sun.star.sheet.XSheetOperation; |
24 |
import com.sun.star.drawing.XDrawPage; |
25 |
import com.sun.star.drawing.XDrawPageSupplier; |
26 |
import com.sun.star.drawing.XShapes; |
27 |
|
28 |
/** |
29 |
* Test delete contents |
30 |
* @author BinGuo 9/4/2012 |
31 |
* |
32 |
*/ |
33 |
|
34 |
public class DeleteContents { |
35 |
|
36 |
UnoApp unoApp = new UnoApp(); |
37 |
XSpreadsheetDocument scDocument = null; |
38 |
XComponent scComponent = null; |
39 |
private String filename = "uno/sc/cell/TestDeleteContents.ods"; |
40 |
XDrawPage xpage = null; |
41 |
XShapes xShapes = null; |
42 |
|
43 |
@Before |
44 |
public void setUp() throws Exception { |
45 |
unoApp.start(); |
46 |
} |
47 |
|
48 |
@After |
49 |
public void tearDown() throws Exception { |
50 |
unoApp.closeDocument(scComponent); |
51 |
unoApp.close(); |
52 |
} |
53 |
|
54 |
@BeforeClass |
55 |
public static void setUpConnection() throws Exception { |
56 |
// unoApp.start(); |
57 |
} |
58 |
|
59 |
@AfterClass |
60 |
public static void tearDownConnection() throws InterruptedException, Exception { |
61 |
// unoApp.close(); |
62 |
SCUtil.clearTempDir(); |
63 |
} |
64 |
|
65 |
/** |
66 |
* Open existing ODS file with contents in cell range B5:C15 |
67 |
* Execute delete Text, Verify results after delete text |
68 |
* Execute delete Number, Verify results after delete number |
69 |
* Execute delete Formula, Verify results after delete formula |
70 |
* Execute delete Comment, Verify results after delete comment |
71 |
* Execute delete Format, Verify results after delete format |
72 |
* Execute delete Drawing Object, Verify results after delete object |
73 |
*/ |
74 |
|
75 |
@Test |
76 |
public void testDeleteContents() throws Exception { |
77 |
|
78 |
// Prepare test data |
79 |
String sample = Testspace.prepareData(filename); |
80 |
|
81 |
// Open document |
82 |
scDocument = SCUtil.openFile(sample, unoApp); |
83 |
|
84 |
// Get current sheet |
85 |
XSpreadsheet xSheet = SCUtil.getCurrentSheet(scDocument); |
86 |
|
87 |
// Get cell range B5:C15 by position - (column, row, column, row) |
88 |
XCellRange xCellRange = xSheet.getCellRangeByPosition( 1, 4, 2, 14 ); |
89 |
XSheetOperation xSheetOp = (XSheetOperation) UnoRuntime.queryInterface(XSheetOperation.class, xCellRange); |
90 |
|
91 |
//Get Cell B5 |
92 |
XCell cellB5 = xSheet.getCellByPosition(1, 4); |
93 |
|
94 |
//Delete Text from Cell Range B5:C15 |
95 |
xSheetOp.clearContents(4); |
96 |
|
97 |
//Verify results after execute delete 'Text' contents. |
98 |
double NullCellValue = 0.0; |
99 |
assertEquals("Verify after execute delete 'Text' contents.",NullCellValue, cellB5.getValue(),0); |
100 |
|
101 |
//Get Cell B7 |
102 |
XCell cellB7 = xSheet.getCellByPosition(1, 6); |
103 |
|
104 |
//Delete Date & Time from Cell Range B5:C15 |
105 |
xSheetOp.clearContents(2); |
106 |
|
107 |
//Verify results after execute delete 'Date & Time' contents. |
108 |
assertEquals("Verify after execute delete 'Date & Time' contents.",NullCellValue, cellB7.getValue(),0); |
109 |
|
110 |
//Get Cell B8 |
111 |
XCell cellB8 = xSheet.getCellByPosition(1, 7); |
112 |
|
113 |
//Delete Formula from Cell Range B5:C15 |
114 |
xSheetOp.clearContents(16); |
115 |
|
116 |
//Verify results after execute delete 'Formula' contents. |
117 |
assertEquals("Verify after execute delete 'Formula' contents.",NullCellValue, cellB8.getValue(),0); |
118 |
|
119 |
//Delete Comment from Cell Range B5:C15 |
120 |
xSheetOp.clearContents(8); |
121 |
|
122 |
XSheetAnnotationsSupplier xAnnotationsSupp = |
123 |
(XSheetAnnotationsSupplier) UnoRuntime.queryInterface( |
124 |
XSheetAnnotationsSupplier.class, xSheet); |
125 |
XSheetAnnotations xAnnotations = xAnnotationsSupp.getAnnotations(); |
126 |
|
127 |
//Verify comment is deleted. |
128 |
assertEquals("Verify total number of annotations after execute delete annotations." |
129 |
,0, xAnnotations.getCount()); |
130 |
//Delete contents with Formatted from Cell Range B5:C15 |
131 |
// xSheetOp.clearContents(512); @Ignore("#BUGID 120816 - BUG TITLE Method clearContents() clears 'Formatted' contents of the cells used does not work, If constants of com.sun.star.sheet.CellFlags is '512'. ") |
132 |
|
133 |
//Get Cell B6 and B10 |
134 |
XCell cellB6 = xSheet.getCellByPosition(1, 5); |
135 |
XCell cellB10 = xSheet.getCellByPosition(1, 9); |
136 |
|
137 |
xSheetOp.clearContents(1); |
138 |
|
139 |
//Verify results after execute delete 'Number' contents. |
140 |
assertEquals("Verify after execute delete 'Number' contents in B6.",NullCellValue, cellB6.getValue(),0); |
141 |
assertEquals("Verify after execute delete 'Number' contents in B10.",NullCellValue, cellB10.getValue(),0); |
142 |
|
143 |
//Get Draw page |
144 |
XDrawPageSupplier xDrawPageSupplier = |
145 |
(XDrawPageSupplier)UnoRuntime.queryInterface(XDrawPageSupplier.class, xSheet); |
146 |
XDrawPage xDrawPage = xDrawPageSupplier.getDrawPage(); |
147 |
|
148 |
XShapes xShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class, xDrawPage); |
149 |
|
150 |
//Verify number of shape in sheet. |
151 |
assertEquals("Verify number of shape in sheet.",1, xShapes.getCount()); |
152 |
|
153 |
//Delete drawing object from Cell Range B5:C15 |
154 |
xSheetOp.clearContents(128); |
155 |
|
156 |
xShapes = (XShapes) UnoRuntime.queryInterface(XShapes.class, xDrawPage); |
157 |
|
158 |
//Verify results after execute delete 'Objects' contents in cell range. |
159 |
assertEquals("Verify shape is deleted in sheet after execute delete 'Objects' contents in cell range." |
160 |
,0, xShapes.getCount()); |
161 |
|
162 |
} |
163 |
|
164 |
} |
165 |
|
166 |
|