Author: fanningpj
Date: Thu Feb 13 21:40:26 2025
New Revision: 1923794
URL: http://svn.apache.org/viewvc?rev=1923794&view=rev
Log:
fix some of the broken tests
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEDate.java
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEOMonth.java
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/TestDateUtil.java
Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java?rev=1923794&r1=1923793&r2=1923794&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
[UTF-8] (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
[UTF-8] Thu Feb 13 21:40:26 2025
@@ -856,31 +856,24 @@ public class DateUtil {
* @throws IllegalArgumentException if date is invalid
*/
private static int absoluteDay(int year, int dayOfYear, boolean
use1904windowing) {
- return dayOfYear + daysInPriorYears(year, use1904windowing);
+ return dayOfYear + daysInPriorYears(year, dayOfYear, use1904windowing);
}
- /**
- * Return the number of days in prior years since 1900
- *
- * @return days number of days in years prior to yr.
- * @param yr a year (1900 < yr < 4000)
- * @param use1904windowing Should 1900 or 1904 date windowing be used?
- * @throws IllegalArgumentException if year is outside of range.
- */
-
- static int daysInPriorYears(int yr, boolean use1904windowing)
+ private static int daysInPriorYears(final int year, final int dayOfYear,
+ final boolean use1904windowing)
{
- if ((!use1904windowing && yr < 1899) || (use1904windowing && yr <
1904)) {
+ if ((!use1904windowing && (year < 1900 && !isLastDay1899(year,
dayOfYear)))
+ || (use1904windowing && year < 1904)) {
throw new IllegalArgumentException("'year' must be 1900 or
greater");
}
- int yr1 = yr - 1;
+ int yr1 = year - 1;
int leapDays = yr1 / 4 // plus julian leap days in prior years
- yr1 / 100 // minus prior century years
+ yr1 / 400 // plus years divisible by 400
- 460; // leap days in previous 1900 years
- return 365 * (yr - (use1904windowing ? 1904 : 1900)) + leapDays;
+ return 365 * (year - (use1904windowing ? 1904 : 1900)) + leapDays;
}
// set HH:MM:SS fields of cal to 00:00:00:000
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEDate.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEDate.java?rev=1923794&r1=1923793&r2=1923794&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEDate.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEDate.java
Thu Feb 13 21:40:26 2025
@@ -41,7 +41,7 @@ class TestEDate {
checkValue(1, 0, 1d);
checkValue(0, 1, 31d);
checkValue(1, 1, 32d);
- checkValue(0, 0, /* BAD_DATE! */ -1.0d);
+ checkValue(0, 0, 0.0d);
checkValue(0, -2, /* BAD_DATE! */ -1.0d);
checkValue(0, -3, /* BAD_DATE! */ -1.0d);
checkValue(49104, 0, 49104d);
@@ -112,14 +112,14 @@ class TestEDate {
@Test
void testEDateBlankValueEval() {
NumberEval evaluate = (NumberEval) new EDate().evaluate(new
ValueEval[]{BlankEval.instance, new NumberEval(0)}, null);
- assertEquals(-1.0d, evaluate.getNumberValue(), 0);
+ assertEquals(0.0d, evaluate.getNumberValue(), 0);
}
@Test
void testEDateBlankRefValueEval() {
EDate eDate = new EDate();
NumberEval result = (NumberEval) eDate.evaluate(new ValueEval[]{new
RefEvalImplementation(BlankEval.instance), new NumberEval(0)}, null);
- assertEquals(-1.0d, result.getNumberValue(), 0, "0 startDate triggers
BAD_DATE currently, thus -1.0!");
+ assertEquals(0.0d, result.getNumberValue(), 0, "0 startDate triggers
BAD_DATE currently, thus -1.0!");
result = (NumberEval) eDate.evaluate(new ValueEval[]{new
NumberEval(1), new RefEvalImplementation(BlankEval.instance)}, null);
assertEquals(1.0d, result.getNumberValue(), 0, "Blank is handled as 0
otherwise");
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEOMonth.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEOMonth.java?rev=1923794&r1=1923793&r2=1923794&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEOMonth.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestEOMonth.java
Thu Feb 13 21:40:26 2025
@@ -64,7 +64,7 @@ class TestEOMonth {
void testEOMonthBadDateValues() {
checkValue(0.0, -2, BAD_DATE);
checkValue(0.0, -3, BAD_DATE);
- checkValue(DATE_1900_01_31, -1, BAD_DATE);
+ checkValue(DATE_1900_01_31, -2, BAD_DATE);
}
private void checkValue(double startDate, int monthInc, double
expectedResult) {
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java?rev=1923794&r1=1923793&r2=1923794&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java
Thu Feb 13 21:40:26 2025
@@ -531,7 +531,7 @@ public abstract class BaseTestConditiona
// Sanity check data
assertEquals("Values", s.getRow(0).getCell(0).toString());
- assertEquals("10.0", s.getRow(2).getCell(0).toString());
+ assertEquals("10", s.getRow(2).getCell(0).toString());
// Check we found all the conditional formatting rules we should
have
SheetConditionalFormatting sheetCF =
s.getSheetConditionalFormatting();
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java?rev=1923794&r1=1923793&r2=1923794&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
Thu Feb 13 21:40:26 2025
@@ -357,7 +357,7 @@ public abstract class BaseTestFormulaEva
eval.evaluateInCell(cell);
- assertEquals("3.0", cell.toString());
+ assertEquals("3", cell.toString());
}
}
@@ -621,7 +621,7 @@ public abstract class BaseTestFormulaEva
assertNotNull(eval.evaluateInCell(cell));
- assertEquals("3.0", cell.toString());
+ assertEquals("3", cell.toString());
assertEquals(CellType.NUMERIC, cell.getCellType());
assertEquals(3.0, cell.getNumericCellValue(), 0.01);
}
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/TestDateUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/TestDateUtil.java?rev=1923794&r1=1923793&r2=1923794&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/TestDateUtil.java
[UTF-8] (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/ss/usermodel/TestDateUtil.java
[UTF-8] Thu Feb 13 21:40:26 2025
@@ -505,7 +505,7 @@ class TestDateUtil {
Date date32 = df.parse("1900-02-01");
assertEquals(32.0, DateUtil.getExcelDate(date32), 0.00001);
assertEquals(32.0,
DateUtil.getExcelDate(DateUtil.toLocalDateTime(date32)), 0.00001);
- Date dateMinus1 = df.parse("1899-12-31");
+ Date dateMinus1 = df.parse("1899-12-30");
assertEquals(/* BAD_DATE! */ -1.0, DateUtil.getExcelDate(dateMinus1),
0.00001);
assertEquals(/* BAD_DATE! */ -1.0,
DateUtil.getExcelDate(DateUtil.toLocalDateTime(dateMinus1)), 0.00001);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]