/**\r
* Test format conditions based on a boolean formula\r
*/\r
+ @SuppressWarnings("deprecation")\r
public void testBooleanFormulaConditions() {\r
Workbook wb = _testDataProvider.createWorkbook();\r
Sheet sh = wb.createSheet();\r
assertEquals("B1:B3", ranges2[0].formatAsString());\r
}\r
\r
+ @SuppressWarnings("deprecation")\r
public void testSingleFormulaConditions() {\r
Workbook wb = _testDataProvider.createWorkbook();\r
Sheet sh = wb.createSheet();\r
assertEquals(ComparisonOperator.NOT_BETWEEN, rule9.getComparisonOperation());\r
}\r
\r
+ @SuppressWarnings("deprecation")\r
public void testCopy() {\r
Workbook wb = _testDataProvider.createWorkbook();\r
Sheet sheet1 = wb.createSheet();\r
Sheet s = wb.getSheet("CF");\r
ConditionalFormatting cf = null;\r
ConditionalFormattingRule cr = null;\r
- IconMultiStateFormatting icon = null;\r
- ConditionalFormattingThreshold th = null;\r
+\r
\r
// Sanity check data\r
assertEquals("Values", s.getRow(0).getCell(0).toString());\r
assertIconSetPercentages(cf, IconSet.GYRB_4_TRAFFIC_LIGHTS, 0d, 25d, 50d, 75d);\r
\r
\r
- // Icons : 3 symbols - Column L\r
- // Icons : 3 flags - Column M\r
- // Icons : 3 symbols 2 - Column N\r
- // Icons : 3 arrows - Column O \r
+ // Icons : 3 symbols with backgrounds - Column L\r
+ cf = sheetCF.getConditionalFormattingAt(9);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("L2:L17", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.GYR_3_SYMBOLS_CIRCLE, 0d, 33d, 67d);\r
+\r
+ \r
+ // Icons : 3 flags - Column M2 Only\r
+ cf = sheetCF.getConditionalFormattingAt(10);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("M2", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.GYR_3_FLAGS, 0d, 33d, 67d);\r
+\r
+ // Icons : 3 flags - Column M (all)\r
+ cf = sheetCF.getConditionalFormattingAt(11);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("M2:M17", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.GYR_3_FLAGS, 0d, 33d, 67d);\r
+\r
+ \r
+ // Icons : 3 symbols 2 (no background) - Column N\r
+ cf = sheetCF.getConditionalFormattingAt(12);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("N2:N17", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.GYR_3_SYMBOLS, 0d, 33d, 67d);\r
+\r
+ \r
+ // Icons : 3 arrows - Column O\r
+ cf = sheetCF.getConditionalFormattingAt(13);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("O2:O17", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.GYR_3_ARROW, 0d, 33d, 67d);\r
+\r
+ \r
// Icons : 5 arrows grey - Column P \r
+ cf = sheetCF.getConditionalFormattingAt(14);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("P2:P17", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.GREY_5_ARROWS, 0d, 20d, 40d, 60d, 80d);\r
+\r
+ \r
// Icons : 3 stars (ext) - Column Q\r
+ // TODO Support EXT formattings\r
+\r
+ \r
// Icons : 4 ratings - Column R\r
+ cf = sheetCF.getConditionalFormattingAt(15);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("R2:R17", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.RATINGS_4, 0d, 25d, 50d, 75d);\r
+\r
+ \r
// Icons : 5 ratings - Column S\r
+ cf = sheetCF.getConditionalFormattingAt(16);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("S2:S17", cf.getFormattingRanges()[0].formatAsString());\r
+ assertIconSetPercentages(cf, IconSet.RATINGS_5, 0d, 20d, 40d, 60d, 80d);\r
+\r
+ \r
// Custom Icon+Format - Column T\r
+ cf = sheetCF.getConditionalFormattingAt(17);\r
+ assertEquals(1, cf.getFormattingRanges().length);\r
+ assertEquals("T2:T17", cf.getFormattingRanges()[0].formatAsString());\r
+ \r
+ // TODO Support IconSet + Other CFs with 2 rules\r
+// assertEquals(2, cf.getNumberOfRules());\r
+// cr = cf.getRule(0);\r
+// assertIconSetPercentages(cr, IconSet.GYR_3_TRAFFIC_LIGHTS_BOX, 0d, 33d, 67d);\r
+// cr = cf.getRule(1);\r
+// assertEquals(ConditionType.FORMULA, cr.getConditionTypeType());\r
+// assertEquals(ComparisonOperator.NO_COMPARISON, cr.getComparisonOperation());\r
+// // TODO Why aren't these two the same between formats?\r
+// if (cr instanceof HSSFConditionalFormattingRule) {\r
+// assertEquals("MOD(ROW($T1),2)=1", cr.getFormula1());\r
+// } else {\r
+// assertEquals("MOD(ROW($T2),2)=1", cr.getFormula1());\r
+// }\r
+// assertEquals(null, cr.getFormula2());\r
+ \r
+ \r
// Mixed icons - Column U\r
-\r
+ // TODO Support EXT formattings\r
}\r
private void assertIconSetPercentages(ConditionalFormatting cf, IconSet iconset, Double...vals) {\r
assertEquals(1, cf.getNumberOfRules());\r
ConditionalFormattingRule cr = cf.getRule(0);\r
- \r
+ assertIconSetPercentages(cr, iconset, vals);\r
+ } \r
+ private void assertIconSetPercentages(ConditionalFormattingRule cr, IconSet iconset, Double...vals) {\r
assertEquals(ConditionType.ICON_SET, cr.getConditionTypeType());\r
assertEquals(ComparisonOperator.NO_COMPARISON, cr.getComparisonOperation());\r
assertEquals(null, cr.getFormula1());\r