Line 0
Link Here
|
|
|
1 |
package org.apache.poi.ss.formula.functions; |
2 |
|
3 |
import junit.framework.TestCase; |
4 |
import org.apache.poi.ss.formula.eval.ErrorEval; |
5 |
import org.apache.poi.ss.formula.eval.NumberEval; |
6 |
import org.apache.poi.ss.formula.eval.ValueEval; |
7 |
import org.apache.poi.ss.usermodel.DateUtil; |
8 |
import org.apache.poi.ss.usermodel.ErrorConstants; |
9 |
|
10 |
import java.util.Calendar; |
11 |
import java.util.Date; |
12 |
|
13 |
public class TestEDate extends TestCase{ |
14 |
|
15 |
public void testEDateProperValues() { |
16 |
EDate eDate = new EDate(); |
17 |
NumberEval result = (NumberEval) eDate.evaluate(new ValueEval[]{new NumberEval(1000), new NumberEval(0)}, null); |
18 |
assertEquals(1000d, result.getNumberValue()); |
19 |
} |
20 |
|
21 |
public void testEDateInvalidValues() { |
22 |
EDate eDate = new EDate(); |
23 |
ErrorEval result = (ErrorEval) eDate.evaluate(new ValueEval[]{new NumberEval(1000)}, null); |
24 |
assertEquals(ErrorConstants.ERROR_VALUE, result.getErrorCode()); |
25 |
} |
26 |
|
27 |
public void testEDateIncrease() { |
28 |
EDate eDate = new EDate(); |
29 |
Date startDate = new Date(); |
30 |
int offset = 2; |
31 |
NumberEval result = (NumberEval) eDate.evaluate(new ValueEval[]{new NumberEval(DateUtil.getExcelDate(startDate)), new NumberEval(offset)}, null); |
32 |
Date resultDate = DateUtil.getJavaDate(result.getNumberValue()); |
33 |
Calendar instance = Calendar.getInstance(); |
34 |
instance.setTime(startDate); |
35 |
instance.add(Calendar.MONTH, offset); |
36 |
assertEquals(resultDate, instance.getTime()); |
37 |
|
38 |
} |
39 |
|
40 |
public void testEDateDecrease() { |
41 |
EDate eDate = new EDate(); |
42 |
Date startDate = new Date(); |
43 |
int offset = -2; |
44 |
NumberEval result = (NumberEval) eDate.evaluate(new ValueEval[]{new NumberEval(DateUtil.getExcelDate(startDate)), new NumberEval(offset)}, null); |
45 |
Date resultDate = DateUtil.getJavaDate(result.getNumberValue()); |
46 |
Calendar instance = Calendar.getInstance(); |
47 |
instance.setTime(startDate); |
48 |
instance.add(Calendar.MONTH, offset); |
49 |
assertEquals(resultDate, instance.getTime()); |
50 |
} |
51 |
} |