mirror of https://github.com/apache/poi.git
[bug-66123] support gte attribute in XSSFConditionalFormattingThreshold
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1901945 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c559e4549a
commit
d075f2ae9c
|
@ -72,6 +72,7 @@ public class XSSFConditionalFormattingThreshold implements org.apache.poi.ss.use
|
|||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(Double value) {
|
||||
if (value == null) {
|
||||
|
@ -80,4 +81,20 @@ public class XSSFConditionalFormattingThreshold implements org.apache.poi.ss.use
|
|||
cfvo.setVal(value.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if 'gte' attribute is set to true (defaults to true)
|
||||
* @since POI 5.2.3
|
||||
*/
|
||||
public boolean isGte() {
|
||||
return cfvo.getGte();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param gte set 'gte' attribute (defaults to true)
|
||||
* @since POI 5.2.3
|
||||
*/
|
||||
public void setGte(boolean gte) {
|
||||
cfvo.setGte(gte);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,10 @@
|
|||
package org.apache.poi.xssf.usermodel;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
@ -27,6 +30,7 @@ import org.apache.poi.ss.usermodel.BaseTestConditionalFormatting;
|
|||
import org.apache.poi.ss.usermodel.Color;
|
||||
import org.apache.poi.ss.usermodel.ConditionalFormatting;
|
||||
import org.apache.poi.ss.usermodel.ConditionalFormattingRule;
|
||||
import org.apache.poi.ss.usermodel.ConditionalFormattingThreshold;
|
||||
import org.apache.poi.ss.usermodel.ExtendedColor;
|
||||
import org.apache.poi.ss.usermodel.FontFormatting;
|
||||
import org.apache.poi.ss.usermodel.PatternFormatting;
|
||||
|
@ -143,4 +147,18 @@ class TestXSSFConditionalFormatting extends BaseTestConditionalFormatting {
|
|||
protected boolean applyLimitOf3() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void checkThreshold(ConditionalFormattingThreshold threshold) {
|
||||
assertNull(threshold.getValue());
|
||||
assertNull(threshold.getFormula());
|
||||
assertTrue(threshold instanceof XSSFConditionalFormattingThreshold,
|
||||
"threshold is a XSSFConditionalFormattingThreshold?");
|
||||
XSSFConditionalFormattingThreshold xssfThreshold = (XSSFConditionalFormattingThreshold)threshold;
|
||||
assertTrue(xssfThreshold.isGte(), "gte defaults to true?");
|
||||
xssfThreshold.setGte(false);
|
||||
assertFalse(xssfThreshold.isGte(), "gte changed to false?");
|
||||
xssfThreshold.setGte(true);
|
||||
assertTrue(xssfThreshold.isGte(), "gte changed to true?");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -550,8 +550,7 @@ public abstract class BaseTestConditionalFormatting {
|
|||
if (str.contains("[CFEX]")) fCFEX++;
|
||||
} else {
|
||||
ConditionType type = cf.getRule(cf.getNumberOfRules() - 1).getConditionType();
|
||||
if (type == ConditionType.CELL_VALUE_IS ||
|
||||
type == ConditionType.FORMULA) {
|
||||
if (type == ConditionType.CELL_VALUE_IS || type == ConditionType.FORMULA) {
|
||||
fCF++;
|
||||
} else {
|
||||
// TODO Properly detect Ext ones from the xml
|
||||
|
@ -772,15 +771,17 @@ public abstract class BaseTestConditionalFormatting {
|
|||
|
||||
assertColor(color, databar.getColor());
|
||||
|
||||
ConditionalFormattingThreshold th;
|
||||
th = databar.getMinThreshold();
|
||||
assertEquals(RangeType.MIN, th.getRangeType());
|
||||
assertNull(th.getValue());
|
||||
assertNull(th.getFormula());
|
||||
th = databar.getMaxThreshold();
|
||||
assertEquals(RangeType.MAX, th.getRangeType());
|
||||
assertNull(th.getValue());
|
||||
assertNull(th.getFormula());
|
||||
ConditionalFormattingThreshold th1 = databar.getMinThreshold();
|
||||
assertEquals(RangeType.MIN, th1.getRangeType());
|
||||
checkThreshold(th1);
|
||||
ConditionalFormattingThreshold th2 = databar.getMaxThreshold();
|
||||
assertEquals(RangeType.MAX, th2.getRangeType());
|
||||
checkThreshold(th2);
|
||||
}
|
||||
|
||||
protected void checkThreshold(ConditionalFormattingThreshold threshold) {
|
||||
assertNull(threshold.getValue());
|
||||
assertNull(threshold.getFormula());
|
||||
}
|
||||
|
||||
private void assertIconSetPercentages(ConditionalFormatting cf, IconSet iconset, Double...vals) {
|
||||
|
|
Loading…
Reference in New Issue