#58130 More CF Icon unit tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1691787 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
293a7b4a5b
commit
520a6fdf68
@ -101,6 +101,7 @@ public abstract class BaseTestConditionalFormatting extends TestCase {
|
|||||||
/**
|
/**
|
||||||
* Test format conditions based on a boolean formula
|
* Test format conditions based on a boolean formula
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public void testBooleanFormulaConditions() {
|
public void testBooleanFormulaConditions() {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet sh = wb.createSheet();
|
Sheet sh = wb.createSheet();
|
||||||
@ -136,6 +137,7 @@ public abstract class BaseTestConditionalFormatting extends TestCase {
|
|||||||
assertEquals("B1:B3", ranges2[0].formatAsString());
|
assertEquals("B1:B3", ranges2[0].formatAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public void testSingleFormulaConditions() {
|
public void testSingleFormulaConditions() {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet sh = wb.createSheet();
|
Sheet sh = wb.createSheet();
|
||||||
@ -207,6 +209,7 @@ public abstract class BaseTestConditionalFormatting extends TestCase {
|
|||||||
assertEquals(ComparisonOperator.NOT_BETWEEN, rule9.getComparisonOperation());
|
assertEquals(ComparisonOperator.NOT_BETWEEN, rule9.getComparisonOperation());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public void testCopy() {
|
public void testCopy() {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet sheet1 = wb.createSheet();
|
Sheet sheet1 = wb.createSheet();
|
||||||
@ -546,8 +549,7 @@ public abstract class BaseTestConditionalFormatting extends TestCase {
|
|||||||
Sheet s = wb.getSheet("CF");
|
Sheet s = wb.getSheet("CF");
|
||||||
ConditionalFormatting cf = null;
|
ConditionalFormatting cf = null;
|
||||||
ConditionalFormattingRule cr = null;
|
ConditionalFormattingRule cr = null;
|
||||||
IconMultiStateFormatting icon = null;
|
|
||||||
ConditionalFormattingThreshold th = null;
|
|
||||||
|
|
||||||
// Sanity check data
|
// Sanity check data
|
||||||
assertEquals("Values", s.getRow(0).getCell(0).toString());
|
assertEquals("Values", s.getRow(0).getCell(0).toString());
|
||||||
@ -696,22 +698,95 @@ public abstract class BaseTestConditionalFormatting extends TestCase {
|
|||||||
assertIconSetPercentages(cf, IconSet.GYRB_4_TRAFFIC_LIGHTS, 0d, 25d, 50d, 75d);
|
assertIconSetPercentages(cf, IconSet.GYRB_4_TRAFFIC_LIGHTS, 0d, 25d, 50d, 75d);
|
||||||
|
|
||||||
|
|
||||||
// Icons : 3 symbols - Column L
|
// Icons : 3 symbols with backgrounds - Column L
|
||||||
// Icons : 3 flags - Column M
|
cf = sheetCF.getConditionalFormattingAt(9);
|
||||||
// Icons : 3 symbols 2 - Column N
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
// Icons : 3 arrows - Column O
|
assertEquals("L2:L17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
// Icons : 5 arrows grey - Column P
|
assertIconSetPercentages(cf, IconSet.GYR_3_SYMBOLS_CIRCLE, 0d, 33d, 67d);
|
||||||
// Icons : 3 stars (ext) - Column Q
|
|
||||||
// Icons : 4 ratings - Column R
|
|
||||||
// Icons : 5 ratings - Column S
|
|
||||||
// Custom Icon+Format - Column T
|
|
||||||
// Mixed icons - Column U
|
|
||||||
|
|
||||||
|
|
||||||
|
// Icons : 3 flags - Column M2 Only
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(10);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("M2", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
assertIconSetPercentages(cf, IconSet.GYR_3_FLAGS, 0d, 33d, 67d);
|
||||||
|
|
||||||
|
// Icons : 3 flags - Column M (all)
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(11);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("M2:M17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
assertIconSetPercentages(cf, IconSet.GYR_3_FLAGS, 0d, 33d, 67d);
|
||||||
|
|
||||||
|
|
||||||
|
// Icons : 3 symbols 2 (no background) - Column N
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(12);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("N2:N17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
assertIconSetPercentages(cf, IconSet.GYR_3_SYMBOLS, 0d, 33d, 67d);
|
||||||
|
|
||||||
|
|
||||||
|
// Icons : 3 arrows - Column O
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(13);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("O2:O17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
assertIconSetPercentages(cf, IconSet.GYR_3_ARROW, 0d, 33d, 67d);
|
||||||
|
|
||||||
|
|
||||||
|
// Icons : 5 arrows grey - Column P
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(14);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("P2:P17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
assertIconSetPercentages(cf, IconSet.GREY_5_ARROWS, 0d, 20d, 40d, 60d, 80d);
|
||||||
|
|
||||||
|
|
||||||
|
// Icons : 3 stars (ext) - Column Q
|
||||||
|
// TODO Support EXT formattings
|
||||||
|
|
||||||
|
|
||||||
|
// Icons : 4 ratings - Column R
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(15);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("R2:R17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
assertIconSetPercentages(cf, IconSet.RATINGS_4, 0d, 25d, 50d, 75d);
|
||||||
|
|
||||||
|
|
||||||
|
// Icons : 5 ratings - Column S
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(16);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("S2:S17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
assertIconSetPercentages(cf, IconSet.RATINGS_5, 0d, 20d, 40d, 60d, 80d);
|
||||||
|
|
||||||
|
|
||||||
|
// Custom Icon+Format - Column T
|
||||||
|
cf = sheetCF.getConditionalFormattingAt(17);
|
||||||
|
assertEquals(1, cf.getFormattingRanges().length);
|
||||||
|
assertEquals("T2:T17", cf.getFormattingRanges()[0].formatAsString());
|
||||||
|
|
||||||
|
// TODO Support IconSet + Other CFs with 2 rules
|
||||||
|
// assertEquals(2, cf.getNumberOfRules());
|
||||||
|
// cr = cf.getRule(0);
|
||||||
|
// assertIconSetPercentages(cr, IconSet.GYR_3_TRAFFIC_LIGHTS_BOX, 0d, 33d, 67d);
|
||||||
|
// cr = cf.getRule(1);
|
||||||
|
// assertEquals(ConditionType.FORMULA, cr.getConditionTypeType());
|
||||||
|
// assertEquals(ComparisonOperator.NO_COMPARISON, cr.getComparisonOperation());
|
||||||
|
// // TODO Why aren't these two the same between formats?
|
||||||
|
// if (cr instanceof HSSFConditionalFormattingRule) {
|
||||||
|
// assertEquals("MOD(ROW($T1),2)=1", cr.getFormula1());
|
||||||
|
// } else {
|
||||||
|
// assertEquals("MOD(ROW($T2),2)=1", cr.getFormula1());
|
||||||
|
// }
|
||||||
|
// assertEquals(null, cr.getFormula2());
|
||||||
|
|
||||||
|
|
||||||
|
// Mixed icons - Column U
|
||||||
|
// TODO Support EXT formattings
|
||||||
}
|
}
|
||||||
private void assertIconSetPercentages(ConditionalFormatting cf, IconSet iconset, Double...vals) {
|
private void assertIconSetPercentages(ConditionalFormatting cf, IconSet iconset, Double...vals) {
|
||||||
assertEquals(1, cf.getNumberOfRules());
|
assertEquals(1, cf.getNumberOfRules());
|
||||||
ConditionalFormattingRule cr = cf.getRule(0);
|
ConditionalFormattingRule cr = cf.getRule(0);
|
||||||
|
assertIconSetPercentages(cr, iconset, vals);
|
||||||
|
}
|
||||||
|
private void assertIconSetPercentages(ConditionalFormattingRule cr, IconSet iconset, Double...vals) {
|
||||||
assertEquals(ConditionType.ICON_SET, cr.getConditionTypeType());
|
assertEquals(ConditionType.ICON_SET, cr.getConditionTypeType());
|
||||||
assertEquals(ComparisonOperator.NO_COMPARISON, cr.getComparisonOperation());
|
assertEquals(ComparisonOperator.NO_COMPARISON, cr.getComparisonOperation());
|
||||||
assertEquals(null, cr.getFormula1());
|
assertEquals(null, cr.getFormula1());
|
||||||
|
Loading…
Reference in New Issue
Block a user