Somehow the Date formatting via SimpleDateFormatter fails on some CI machines, don't rely on this to avoid test-failures due to timezones/locales but rather compare the date directly.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1696710 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cd988b9c2e
commit
f828ff1554
@ -32,8 +32,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
|
|
||||||
import org.apache.poi.ss.formula.OperationEvaluationContext;
|
import org.apache.poi.ss.formula.OperationEvaluationContext;
|
||||||
import org.apache.poi.ss.formula.TwoDEval;
|
import org.apache.poi.ss.formula.TwoDEval;
|
||||||
import org.apache.poi.ss.formula.eval.AreaEval;
|
import org.apache.poi.ss.formula.eval.AreaEval;
|
||||||
@ -43,6 +41,8 @@ import org.apache.poi.ss.formula.eval.StringEval;
|
|||||||
import org.apache.poi.ss.formula.eval.ValueEval;
|
import org.apache.poi.ss.formula.eval.ValueEval;
|
||||||
import org.apache.poi.ss.usermodel.DateUtil;
|
import org.apache.poi.ss.usermodel.DateUtil;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author jfaenomoto@gmail.com
|
* @author jfaenomoto@gmail.com
|
||||||
*/
|
*/
|
||||||
@ -88,57 +88,49 @@ public class TestWorkdayFunction extends TestCase {
|
|||||||
public void testReturnWorkdaysSpanningAWeekendSubtractingDays() {
|
public void testReturnWorkdaysSpanningAWeekendSubtractingDays() {
|
||||||
String startDate = "2013/09/30";
|
String startDate = "2013/09/30";
|
||||||
int days = -1;
|
int days = -1;
|
||||||
String expectedWorkDay = "2013/09/27";
|
|
||||||
StringEval stringEval = new StringEval(startDate);
|
StringEval stringEval = new StringEval(startDate);
|
||||||
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
||||||
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
||||||
assertEquals(41544.0, numberValue);
|
assertEquals(41544.0, numberValue);
|
||||||
|
|
||||||
Date date = DateUtil.getJavaDate(numberValue);
|
Date date = DateUtil.getJavaDate(numberValue);
|
||||||
assertEquals(new Date(113, 8, 27), date);
|
assertEquals("Should be 2013/09/27", new Date(113, 8, 27), date);
|
||||||
assertEquals(expectedWorkDay, formatter.format(date));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testReturnWorkdaysSpanningAWeekendAddingDays() {
|
public void testReturnWorkdaysSpanningAWeekendAddingDays() {
|
||||||
String startDate = "2013/09/27";
|
String startDate = "2013/09/27";
|
||||||
int days = 1;
|
int days = 1;
|
||||||
String expectedWorkDay = "2013/09/30";
|
|
||||||
StringEval stringEval = new StringEval(startDate);
|
StringEval stringEval = new StringEval(startDate);
|
||||||
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
||||||
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
||||||
assertEquals(41547.0, numberValue);
|
assertEquals(41547.0, numberValue);
|
||||||
|
|
||||||
Date date = DateUtil.getJavaDate(numberValue);
|
Date date = DateUtil.getJavaDate(numberValue);
|
||||||
assertEquals(new Date(113, 8, 30), date);
|
assertEquals("Should be 2013/09/30", new Date(113, 8, 30), date);
|
||||||
assertEquals(expectedWorkDay, formatter.format(date));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testReturnWorkdaysWhenStartIsWeekendAddingDays() {
|
public void testReturnWorkdaysWhenStartIsWeekendAddingDays() {
|
||||||
String startDate = "2013/10/06";
|
String startDate = "2013/10/06";
|
||||||
int days = 1;
|
int days = 1;
|
||||||
String expectedWorkDay = "2013/10/07";
|
|
||||||
StringEval stringEval = new StringEval(startDate);
|
StringEval stringEval = new StringEval(startDate);
|
||||||
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
||||||
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
||||||
assertEquals(41554.0, numberValue);
|
assertEquals(41554.0, numberValue);
|
||||||
|
|
||||||
Date date = DateUtil.getJavaDate(numberValue);
|
Date date = DateUtil.getJavaDate(numberValue);
|
||||||
assertEquals(new Date(113, 9, 7), date);
|
assertEquals("Should be 2013/10/07", new Date(113, 9, 7), date);
|
||||||
assertEquals(expectedWorkDay, formatter.format(date));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testReturnWorkdaysWhenStartIsWeekendSubtractingDays() {
|
public void testReturnWorkdaysWhenStartIsWeekendSubtractingDays() {
|
||||||
String startDate = "2013/10/06";
|
String startDate = "2013/10/06";
|
||||||
int days = -1;
|
int days = -1;
|
||||||
String expectedWorkDay = "2013/10/04";
|
|
||||||
StringEval stringEval = new StringEval(startDate);
|
StringEval stringEval = new StringEval(startDate);
|
||||||
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
double numberValue = ((NumberEval) WorkdayFunction.instance.evaluate(new ValueEval[]{
|
||||||
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
stringEval, new NumberEval(days) }, EC)).getNumberValue();
|
||||||
assertEquals(41551.0, numberValue);
|
assertEquals(41551.0, numberValue);
|
||||||
|
|
||||||
Date date = DateUtil.getJavaDate(numberValue);
|
Date date = DateUtil.getJavaDate(numberValue);
|
||||||
assertEquals(new Date(113, 9, 4), date);
|
assertEquals("Should be 2013/10/04", new Date(113, 9, 4), date);
|
||||||
assertEquals(expectedWorkDay, formatter.format(date));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testReturnWorkdaysWithDaysTruncated() {
|
public void testReturnWorkdaysWithDaysTruncated() {
|
||||||
|
Loading…
Reference in New Issue
Block a user