aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2024-03-06 10:49:07 +0000
committerPJ Fanning <fanningpj@apache.org>2024-03-06 10:49:07 +0000
commit9d3531842b4d87266f5214fbcbb64dfeac15fd18 (patch)
treebe899d45bd9bbe020e4cfa7cc87e73fc11c341f8
parent30ff717be4d56965f09b3240a7519a3240143e36 (diff)
downloadpoi-9d3531842b4d87266f5214fbcbb64dfeac15fd18.tar.gz
poi-9d3531842b4d87266f5214fbcbb64dfeac15fd18.zip
rework test state
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1916143 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestConditionalFormattingEval.java119
1 files changed, 71 insertions, 48 deletions
diff --git a/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestConditionalFormattingEval.java b/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestConditionalFormattingEval.java
index f6903206da..f40598558d 100644
--- a/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestConditionalFormattingEval.java
+++ b/poi-ooxml/src/test/java/org/apache/poi/ss/tests/usermodel/TestConditionalFormattingEval.java
@@ -39,8 +39,6 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
class TestConditionalFormattingEval {
- private CellReference ref;
- private List<EvaluationConditionalFormatRule> rules;
@Test
void testFormattingEvaluation() throws IOException {
@@ -49,26 +47,26 @@ class TestConditionalFormattingEval {
XSSFFormulaEvaluator formulaEval = new XSSFFormulaEvaluator(wb);
ConditionalFormattingEvaluator cfe = new ConditionalFormattingEvaluator(wb, formulaEval);
- getRulesFor(12, 1, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- assertEquals("FFFFEB9C", getColor(rules.get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), "wrong bg color for " + ref);
- assertFalse(rules.get(0).getRule().getFontFormatting().isItalic(), "should not be italic " + ref);
+ RuleResult result = getRuleResultFor(12, 1, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ assertEquals("FFFFEB9C", getColor(result.getRules().get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), "wrong bg color for " + result.getRef());
+ assertFalse(result.getRules().get(0).getRule().getFontFormatting().isItalic(), "should not be italic " + result.getRef());
- getRulesFor(16, 3, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- assertEquals(0.7999816888943144d, getTint(rules.get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), 0.000000000000001, "wrong bg color for " + ref);
+ result = getRuleResultFor(16, 3, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ assertEquals(0.7999816888943144d, getTint(result.getRules().get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), 0.000000000000001, "wrong bg color for " + result.getRef());
- getRulesFor(12, 3, sheet, cfe);
- assertEquals(0, rules.size(), "wrong # of rules for " + ref);
+ result = getRuleResultFor(12, 3, sheet, cfe);
+ assertEquals(0, result.getRules().size(), "wrong # of rules for " + result.getRef());
sheet = wb.getSheet("Products2");
- getRulesFor(15, 1, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- assertEquals("FFFFEB9C", getColor(rules.get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), "wrong bg color for " + ref);
+ result = getRuleResultFor(15, 1, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ assertEquals("FFFFEB9C", getColor(result.getRules().get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), "wrong bg color for " + result.getRef());
- getRulesFor(20, 3, sheet, cfe);
- assertEquals(0, rules.size(), "wrong # of rules for " + ref);
+ result = getRuleResultFor(20, 3, sheet, cfe);
+ assertEquals(0, result.getRules().size(), "wrong # of rules for " + result.getRef());
// now change a cell value that's an input for the rules
Cell cell = sheet.getRow(1).getCell(6);
@@ -81,44 +79,44 @@ class TestConditionalFormattingEval {
cfe.clearAllCachedValues();
// test that the conditional validation evaluations changed
- getRulesFor(15, 1, sheet, cfe);
- assertEquals(0, rules.size(), "wrong # of rules for " + ref);
+ result = getRuleResultFor(15, 1, sheet, cfe);
+ assertEquals(0, result.getRules().size(), "wrong # of rules for " + result.getRef());
- getRulesFor(20, 3, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- assertEquals(0.7999816888943144d, getTint(rules.get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), 0.000000000000001, "wrong bg color for " + ref);
+ result = getRuleResultFor(20, 3, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ assertEquals(0.7999816888943144d, getTint(result.getRules().get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), 0.000000000000001, "wrong bg color for " + result.getRef());
- getRulesFor(20, 1, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- assertEquals("FFFFEB9C", getColor(rules.get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), "wrong bg color for " + ref);
+ result = getRuleResultFor(20, 1, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ assertEquals("FFFFEB9C", getColor(result.getRules().get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), "wrong bg color for " + result.getRef());
sheet = wb.getSheet("Book tour");
- getRulesFor(8, 2, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
+ result = getRuleResultFor(8, 2, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
sheet = wb.getSheet("Compare to totals");
- getRulesFor(3, 2, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- assertEquals("FFFF0000", getColor(rules.get(0).getRule().getFontFormatting().getFontColor()), "wrong fg color for " + ref);
- getRulesFor(3, 3, sheet, cfe);
- assertEquals(0, rules.size(), "wrong # of rules for " + ref);
- getRulesFor(15, 4, sheet, cfe);
- assertEquals(0, rules.size(), "wrong # of rules for " + ref);
- getRulesFor(16, 1, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- assertEquals("FFFF0000", getColor(rules.get(0).getRule().getFontFormatting().getFontColor()), "wrong fg color for " + ref);
+ result = getRuleResultFor(3, 2, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ assertEquals("FFFF0000", getColor(result.getRules().get(0).getRule().getFontFormatting().getFontColor()), "wrong fg color for " + result.getRef());
+ result = getRuleResultFor(3, 3, sheet, cfe);
+ assertEquals(0, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ result = getRuleResultFor(15, 4, sheet, cfe);
+ assertEquals(0, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ result = getRuleResultFor(16, 1, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ assertEquals("FFFF0000", getColor(result.getRules().get(0).getRule().getFontFormatting().getFontColor()), "wrong fg color for " + result.getRef());
sheet = wb.getSheet("Products3");
sheet.getRow(8).getCell(0).setCellValue(new Date());
- getRulesFor(8, 0, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
- getRulesFor(8, 3, sheet, cfe);
- assertEquals(1, rules.size(), "wrong # of rules for " + ref);
+ result = getRuleResultFor(8, 0, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
+ result = getRuleResultFor(8, 3, sheet, cfe);
+ assertEquals(1, result.getRules().size(), "wrong # of rules for " + result.getRef());
sheet = wb.getSheet("Customers2");
- getRulesFor(3, 0, sheet, cfe);
- assertEquals(0, rules.size(), "wrong # of rules for " + ref);
+ result = getRuleResultFor(3, 0, sheet, cfe);
+ assertEquals(0, result.getRules().size(), "wrong # of rules for " + result.getRef());
}
}
@@ -129,9 +127,11 @@ class TestConditionalFormattingEval {
ConditionalFormattingEvaluator cfe = new ConditionalFormattingEvaluator(wb, formulaEval);
Sheet sheet = wb.getSheet("Sales Plan");
- getRulesFor(9, 2, sheet, cfe);
- assertNotEquals(0, rules.size(), "No rules for " + ref);
- assertEquals("FFFFFF00", getColor(rules.get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()), "wrong bg color for " + ref);
+ RuleResult result = getRuleResultFor(9, 2, sheet, cfe);
+ assertNotEquals(0, result.getRules().size(), "No rules for " + result.getRef());
+ assertEquals("FFFFFF00", getColor(
+ result.getRules().get(0).getRule().getPatternFormatting().getFillBackgroundColorColor()),
+ "wrong bg color for " + result.getRef());
}
}
@@ -185,9 +185,14 @@ class TestConditionalFormattingEval {
}
}
- private List<EvaluationConditionalFormatRule> getRulesFor(int row, int col, Sheet sheet, ConditionalFormattingEvaluator cfe) {
- ref = new CellReference(sheet.getSheetName(), row, col, false, false);
- return rules = cfe.getConditionalFormattingForCell(ref);
+ private RuleResult getRuleResultFor(int row, int col, Sheet sheet, ConditionalFormattingEvaluator cfe) {
+ CellReference ref = new CellReference(sheet.getSheetName(), row, col, false, false);
+ return new RuleResult(ref, cfe.getConditionalFormattingForCell(ref));
+ }
+
+ private List<EvaluationConditionalFormatRule> getRulesFor(
+ int row, int col, Sheet sheet, ConditionalFormattingEvaluator cfe) {
+ return getRuleResultFor(row, col, sheet, cfe).getRules();
}
private String getColor(Color color) {
@@ -199,4 +204,22 @@ class TestConditionalFormattingEval {
final XSSFColor c = XSSFColor.toXSSFColor(color);
return c.getTint();
}
+
+ private static class RuleResult {
+ private final CellReference ref;
+ private final List<EvaluationConditionalFormatRule> rules;
+
+ public RuleResult(CellReference ref, List<EvaluationConditionalFormatRule> rules) {
+ this.ref = ref;
+ this.rules = rules;
+ }
+
+ CellReference getRef() {
+ return ref;
+ }
+
+ List<EvaluationConditionalFormatRule> getRules() {
+ return rules;
+ }
+ }
}