You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2019/12/09 00:37:22 UTC
svn commit: r1871067 [1/2] -
/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/
Author: kiwiwings
Date: Mon Dec 9 00:37:21 2019
New Revision: 1871067
URL: http://svn.apache.org/viewvc?rev=1871067&view=rev
Log:
Migrate tests to Junit 4
Modified:
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/AbstractNumericTestCase.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAddress.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAverage.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestBin2Dec.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestClean.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCode.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestComplex.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCountFuncs.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Bin.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Hex.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDelta.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFinanceLib.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestHex2Dec.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIPMT.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIndex.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIntercept.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIrr.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIsBlank.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLeftRight.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLen.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLogicalFunction.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMatch.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMathX.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMid.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMirr.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestNpv.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestOct2Dec.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestOffset.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestPPMT.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestPoisson.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestQuotient.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestRank.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestRelationalOperations.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestRowCol.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSlope.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestStatsLib.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumif.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumifs.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumproduct.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestTFunc.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestTrim.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestTrunc.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestValue.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestXYNumericFunction.java
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/AbstractNumericTestCase.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/AbstractNumericTestCase.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/AbstractNumericTestCase.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/AbstractNumericTestCase.java Mon Dec 9 00:37:21 2019
@@ -20,27 +20,19 @@
*/
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertTrue;
/**
* @author Amol S. Deshmukh < amolweb at ya hoo dot com >
*
*/
-public abstract class AbstractNumericTestCase extends TestCase {
+public abstract class AbstractNumericTestCase {
public static final double POS_ZERO = 1E-4;
public static final double DIFF_TOLERANCE_FACTOR = 1E-8;
- @Override
- public void setUp() {
- }
-
- @Override
- public void tearDown() {
- }
-
/**
- * Why doesnt JUnit have a method like this for doubles?
+ * Why doesnt JUnit have a method like this for doubles?
* The current impl (3.8.1) of Junit has a retar*** method
* for comparing doubles. DO NOT use that.
* TODO: This class should really be in an abstract super class
@@ -72,4 +64,8 @@ public abstract class AbstractNumericTes
assertEquals(msg, baseval, checkval, POS_ZERO, DIFF_TOLERANCE_FACTOR);
}
+
+ public static void assertEquals(double baseval, double checkval) {
+ assertEquals("", baseval, checkval, POS_ZERO, DIFF_TOLERANCE_FACTOR);
+ }
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAddress.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAddress.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAddress.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAddress.java Mon Dec 9 00:37:21 2019
@@ -16,16 +16,18 @@
==================================================================== */
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
+import org.junit.Test;
-import junit.framework.TestCase;
-
-public final class TestAddress extends TestCase {
+public final class TestAddress {
+ @Test
public void testAddress() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFCell cell = wb.createSheet().createRow(0).createCell(0);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java Mon Dec 9 00:37:21 2019
@@ -17,17 +17,18 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.formula.eval.ErrorEval;
-import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
+import org.junit.Test;
-public final class TestAreas extends TestCase {
+public final class TestAreas {
+ @Test
public void testAreas() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFCell cell = wb.createSheet().createRow(0).createCell(0);
@@ -54,6 +55,6 @@ public final class TestAreas extends Tes
fe.notifyUpdateCell(cell);
CellValue result = fe.evaluate(cell);
assertEquals(result.getCellTypeEnum(), CellType.NUMERIC);
- assertEquals(expectedResult, result.getNumberValue());
+ assertEquals(expectedResult, result.getNumberValue(), 0);
}
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAverage.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAverage.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAverage.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestAverage.java Mon Dec 9 00:37:21 2019
@@ -17,19 +17,19 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
import org.apache.poi.ss.formula.eval.BlankEval;
import org.apache.poi.ss.formula.eval.BoolEval;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
+
/**
* Tests for Excel function AVERAGE()
- *
- * @author Josh Micich
*/
-public final class TestAverage extends TestCase {
+public final class TestAverage {
private static ValueEval invokeAverage(ValueEval[] args) {
return AggregateFunction.AVERAGE.evaluate(args, -1, (short)-1);
@@ -47,6 +47,7 @@ public final class TestAverage extends T
assertEquals(expectedError.getErrorCode(), ((ErrorEval)result).getErrorCode());
}
+ @Test
public void testBasic() {
ValueEval[] values = {
@@ -74,6 +75,7 @@ public final class TestAverage extends T
/**
* Valid cases where values are not pure numbers
*/
+ @Test
public void testUnusualArgs() {
ValueEval[] values = {
new NumberEval(1),
@@ -86,6 +88,7 @@ public final class TestAverage extends T
}
+ @Test
public void testErrors() {
ValueEval[] values = {
new NumberEval(1),
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestBin2Dec.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestBin2Dec.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestBin2Dec.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestBin2Dec.java Mon Dec 9 00:37:21 2019
@@ -17,7 +17,7 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -28,13 +28,14 @@ import org.apache.poi.ss.formula.eval.Er
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
/**
* Tests for {@link Bin2Dec}
*
* @author cedric dot walter @ gmail dot com
*/
-public final class TestBin2Dec extends TestCase {
+public final class TestBin2Dec {
private static ValueEval invokeValue(String number1) {
ValueEval[] args = new ValueEval[] { new StringEval(number1) };
@@ -53,6 +54,7 @@ public final class TestBin2Dec extends T
assertEquals(msg, numError, result);
}
+ @Test
public void testBasic() {
confirmValue("Converts binary '00101' to decimal (5)", "00101", "5");
confirmValue("Converts binary '1111111111' to decimal (-1)", "1111111111", "-1");
@@ -60,25 +62,28 @@ public final class TestBin2Dec extends T
confirmValue("Converts binary '0111111111' to decimal (511)", "0111111111", "511");
}
+ @Test
public void testErrors() {
confirmValueError("does not support more than 10 digits","01010101010", ErrorEval.NUM_ERROR);
confirmValueError("not a valid binary number","GGGGGGG", ErrorEval.NUM_ERROR);
confirmValueError("not a valid binary number","3.14159", ErrorEval.NUM_ERROR);
}
+ @Test
public void testEvalOperationEvaluationContext() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0) };
ValueEval result = new Bin2Dec().evaluate(args, ctx);
assertEquals(NumberEval.class, result.getClass());
assertEquals("0", ((NumberEval) result).getStringValue());
}
-
+
+ @Test
public void testEvalOperationEvaluationContextFails() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 0) };
ValueEval result = new Bin2Dec().evaluate(args, ctx);
@@ -91,7 +96,7 @@ public final class TestBin2Dec extends T
wb.createSheet();
HSSFEvaluationWorkbook workbook = HSSFEvaluationWorkbook.create(wb);
WorkbookEvaluator workbookEvaluator = new WorkbookEvaluator(workbook, new IStabilityClassifier() {
-
+
@Override
public boolean isCellFinal(int sheetIndex, int rowIndex, int columnIndex) {
return true;
@@ -101,9 +106,10 @@ public final class TestBin2Dec extends T
workbook, 0, 0, 0, null);
}
+ @Test
public void testRefs() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0) };
ValueEval result = new Bin2Dec().evaluate(args, -1, -1);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java Mon Dec 9 00:37:21 2019
@@ -17,25 +17,27 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
+import junit.framework.AssertionFailedError;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
/**
* Test for YEAR / MONTH / DAY / HOUR / MINUTE / SECOND
*/
-public final class TestCalendarFieldFunction extends TestCase {
+public final class TestCalendarFieldFunction {
private HSSFCell cell11;
private HSSFFormulaEvaluator evaluator;
- @Override
+ @Before
public void setUp() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
@@ -43,6 +45,7 @@ public final class TestCalendarFieldFunc
evaluator = new HSSFFormulaEvaluator(wb);
}
+ @Test
public void testValid() {
confirm("YEAR(2.26)", 1900);
confirm("MONTH(2.26)", 1);
@@ -50,7 +53,7 @@ public final class TestCalendarFieldFunc
confirm("HOUR(2.26)", 6);
confirm("MINUTE(2.26)", 14);
confirm("SECOND(2.26)", 24);
-
+
confirm("YEAR(40627.4860417)", 2011);
confirm("MONTH(40627.4860417)", 3);
confirm("DAY(40627.4860417)", 25);
@@ -59,6 +62,7 @@ public final class TestCalendarFieldFunc
confirm("SECOND(40627.4860417)", 54);
}
+ @Test
public void testRounding() {
// 41484.999994200 = 23:59:59,499
// 41484.9999942129 = 23:59:59,500 (but sub-milliseconds are below 0.5 (0.49999453965575), XLS-second results in 59)
@@ -71,13 +75,14 @@ public final class TestCalendarFieldFunc
confirm("HOUR(41484.9999942129)", 23);
confirm("MINUTE(41484.9999942129)", 59);
confirm("SECOND(41484.9999942129)", 59);
-
+
confirm("DAY(41484.9999942130)", 30);
confirm("HOUR(41484.9999942130)", 0);
confirm("MINUTE(41484.9999942130)", 0);
confirm("SECOND(41484.9999942130)", 0);
}
+ @Test
public void testDaylightSaving() {
confirm("HOUR(41364.08263888890000)", 1); // 31.03.2013 01:59:00,000
confirm("HOUR(41364.08333333330000)", 2); // 31.03.2013 02:00:00,000 (this time does not exist in TZ CET, but EXCEL does not care)
@@ -86,11 +91,12 @@ public final class TestCalendarFieldFunc
confirm("HOUR(41364.12500000000000)", 3); // 31.03.2013 03:00:00,000
}
+ @Test
public void testBugDate() {
confirm("YEAR(0.0)", 1900);
confirm("MONTH(0.0)", 1);
confirm("DAY(0.0)", 0);
-
+
confirm("YEAR(0.26)", 1900);
confirm("MONTH(0.26)", 1);
confirm("DAY(0.26)", 0);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestClean.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestClean.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestClean.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestClean.java Mon Dec 9 00:37:21 2019
@@ -16,16 +16,18 @@
==================================================================== */
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
+import org.junit.Test;
-import junit.framework.TestCase;
-
-public final class TestClean extends TestCase {
+public final class TestClean {
+ @Test
public void testClean() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFCell cell = wb.createSheet().createRow(0).createCell(0);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCode.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCode.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCode.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCode.java Mon Dec 9 00:37:21 2019
@@ -16,18 +16,19 @@
==================================================================== */
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
/**
* Tests for {@link Code}
*
* @author cedric dot walter @ gmail dot com
*/
-public class TestCode extends TestCase
-{
+public class TestCode {
private static ValueEval invokeValue(String number1) {
ValueEval[] args = new ValueEval[]{new StringEval(number1),};
return new Code().evaluate(args, -1, -1);
@@ -45,7 +46,7 @@ public class TestCode extends TestCase
assertEquals(msg, numError, result);
}
-
+ @Test
public void testBasic() {
confirmValue("Displays the numeric code for A (65)", "A", "65");
confirmValue("Displays the numeric code for the first character in text ABCDEFGHI (65)", "ABCDEFGHI", "65");
@@ -53,6 +54,7 @@ public class TestCode extends TestCase
confirmValue("Displays the numeric code for ! (33)", "!", "33");
}
+ @Test
public void testErrors() {
confirmValueError("Empty text", "", ErrorEval.VALUE_INVALID);
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestComplex.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestComplex.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestComplex.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestComplex.java Mon Dec 9 00:37:21 2019
@@ -16,18 +16,19 @@
==================================================================== */
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
/**
* Tests for {@link Complex}
*
* @author cedric dot walter @ gmail dot com
*/
-public class TestComplex extends TestCase
-{
+public class TestComplex {
private static ValueEval invokeValue(String real_num, String i_num, String suffix) {
ValueEval[] args = new ValueEval[]{new StringEval(real_num), new StringEval(i_num), new StringEval(suffix)};
return new Complex().evaluate(args, -1, -1);
@@ -45,6 +46,7 @@ public class TestComplex extends TestCas
assertEquals(msg, numError, result);
}
+ @Test
public void testBasic() {
confirmValue("Complex number with 3 and 4 as the real and imaginary coefficients (3 + 4i)", "3","4", "", "3+4i");
confirmValue("Complex number with 3 and 4 as the real and imaginary coefficients, and j as the suffix (3 + 4j)", "3","4", "j", "3+4j");
@@ -58,6 +60,7 @@ public class TestComplex extends TestCas
confirmValue("Complex number with -2 and -3 as the real and imaginary coefficients (-0.5-3.2i)", "-0.5","-3.2", "", "-0.5-3.2i");
}
+ @Test
public void testErrors() {
confirmValueError("argument is nonnumeric", "ABCD", "","", ErrorEval.VALUE_INVALID);
confirmValueError("argument is nonnumeric", "1", "ABCD","", ErrorEval.VALUE_INVALID);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCountFuncs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCountFuncs.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCountFuncs.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCountFuncs.java Mon Dec 9 00:37:21 2019
@@ -17,6 +17,12 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import junit.framework.AssertionFailedError;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
@@ -36,17 +42,16 @@ import org.apache.poi.ss.usermodel.CellT
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.util.CellReference;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import org.junit.Test;
/**
* Test cases for COUNT(), COUNTA() COUNTIF(), COUNTBLANK()
*/
-public final class TestCountFuncs extends TestCase {
+public final class TestCountFuncs {
private static final String NULL = null;
+ @Test
public void testCountBlank() {
AreaEval range;
ValueEval[] values;
@@ -74,6 +79,7 @@ public final class TestCountFuncs extend
confirmCountBlank(3, range);
}
+ @Test
public void testCountA() {
ValueEval[] args;
@@ -103,6 +109,7 @@ public final class TestCountFuncs extend
confirmCountA(59, args);
}
+ @Test
public void testCountIf() {
AreaEval range;
ValueEval[] values;
@@ -139,6 +146,7 @@ public final class TestCountFuncs extend
confirmCountIf(2, range, new StringEval(">0.5"));
}
+ @Test
public void testCriteriaPredicateNe_Bug46647() {
I_MatchPredicate mp = Countif.createCriteriaPredicate(new StringEval("<>aa"), 0, 0);
assertNotNull(mp);
@@ -195,6 +203,7 @@ public final class TestCountFuncs extend
* String criteria in COUNTIF are case insensitive;
* for example, the string "apples" and the string "APPLES" will match the same cells.
*/
+ @Test
public void testCaseInsensitiveStringComparison() {
AreaEval range;
ValueEval[] values;
@@ -215,6 +224,7 @@ public final class TestCountFuncs extend
/**
* special case where the criteria argument is a cell reference
*/
+ @Test
public void testCountIfWithCriteriaReference() {
ValueEval[] values = {
@@ -258,6 +268,7 @@ public final class TestCountFuncs extend
/**
* the criteria arg is mostly handled by {@link OperandResolver#getSingleValue(org.apache.poi.ss.formula.eval.ValueEval, int, int)}}
*/
+ @Test
public void testCountifAreaCriteria() {
int srcColIx = 2; // anything but column A
@@ -293,6 +304,7 @@ public final class TestCountFuncs extend
confirmPredicate(true, mp, ErrorEval.VALUE_INVALID);
}
+ @Test
public void testCountifEmptyStringCriteria() {
I_MatchPredicate mp;
@@ -312,6 +324,7 @@ public final class TestCountFuncs extend
confirmPredicate(true, mp, "");
}
+ @Test
public void testCountifComparisons() {
I_MatchPredicate mp;
@@ -353,6 +366,7 @@ public final class TestCountFuncs extend
* the criteria arg value can be an error code (the error does not
* propagate to the COUNTIF result).
*/
+ @Test
public void testCountifErrorCriteria() {
I_MatchPredicate mp;
@@ -381,10 +395,11 @@ public final class TestCountFuncs extend
* Bug #51498 - Check that CountIf behaves correctly for GTE, LTE
* and NEQ cases
*/
+ @Test
public void testCountifBug51498() throws Exception {
final int REF_COL = 4;
final int EVAL_COL = 3;
-
+
HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("51498.xls");
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
HSSFSheet sheet = workbook.getSheetAt(0);
@@ -425,6 +440,7 @@ public final class TestCountFuncs extend
}
}
+ @Test
public void testWildCards() {
I_MatchPredicate mp;
@@ -456,6 +472,8 @@ public final class TestCountFuncs extend
confirmPredicate(true, mp, "12812");
confirmPredicate(false, mp, "128812");
}
+
+ @Test
public void testNotQuiteWildCards() {
I_MatchPredicate mp;
@@ -489,6 +507,7 @@ public final class TestCountFuncs extend
assertEquals(expectedResult, matchPredicate.matches(value));
}
+ @Test
public void testCountifFromSpreadsheet() {
testCountFunctionFromSpreadsheet("countifExamples.xls", 1, 2, 3, "countif");
}
@@ -497,6 +516,7 @@ public final class TestCountFuncs extend
* Two COUNTIF examples taken from
* http://office.microsoft.com/en-us/excel-help/countif-function-HP010069840.aspx?CTT=5&origin=HA010277524
*/
+ @Test
public void testCountifExamples() {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("countifExamples.xls");
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
@@ -540,6 +560,7 @@ public final class TestCountFuncs extend
}
}
+ @Test
public void testCountBlankFromSpreadsheet() {
testCountFunctionFromSpreadsheet("countblankExamples.xls", 1, 3, 4, "countblank");
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java Mon Dec 9 00:37:21 2019
@@ -17,25 +17,28 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
+import junit.framework.AssertionFailedError;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
/**
* @author Pavel Krupets (pkrupets at palmtreebusiness dot com)
*/
-public final class TestDate extends TestCase {
+public final class TestDate {
private HSSFCell cell11;
private HSSFFormulaEvaluator evaluator;
- @Override
+ @Before
public void setUp() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
@@ -47,11 +50,13 @@ public final class TestDate extends Test
* Test disabled pending a fix in the formula evaluator
* TODO - create MissingArgEval and modify the formula evaluator to handle this
*/
- public void DISABLEDtestSomeArgumentsMissing() {
+ @Ignore
+ public void testSomeArgumentsMissing() {
confirm("DATE(, 1, 0)", 0.0);
confirm("DATE(, 1, 1)", 1.0);
}
+ @Test
public void testValid() {
confirm("DATE(1900, 1, 1)", 1);
@@ -62,6 +67,7 @@ public final class TestDate extends Test
confirm("DATE(2007, 1, 1)", 39083);
}
+ @Test
public void testBugDate() {
confirm("DATE(1900, 2, 29)", 60);
confirm("DATE(1900, 2, 30)", 61);
@@ -70,6 +76,7 @@ public final class TestDate extends Test
confirm("DATE(1900, 1, 22222)", 22222);
}
+ @Test
public void testPartYears() {
confirm("DATE(4, 1, 1)", 1462.00);
confirm("DATE(14, 1, 1)", 5115.00);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Bin.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Bin.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Bin.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Bin.java Mon Dec 9 00:37:21 2019
@@ -17,7 +17,7 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -31,13 +31,14 @@ import org.apache.poi.ss.formula.eval.Va
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
+import org.junit.Test;
/**
* Tests for {@link Dec2Bin}
*
* @author cedric dot walter @ gmail dot com
*/
-public final class TestDec2Bin extends TestCase {
+public final class TestDec2Bin {
private static ValueEval invokeValue(String number1) {
ValueEval[] args = new ValueEval[] { new StringEval(number1) };
@@ -61,6 +62,7 @@ public final class TestDec2Bin extends T
assertEquals(msg, numError, result);
}
+ @Test
public void testBasic() {
confirmValue("Converts binary '00101' from binary (5)", "5", "101");
confirmValue("Converts binary '1111111111' from binary (-1)", "-1", "1111111111");
@@ -69,6 +71,7 @@ public final class TestDec2Bin extends T
confirmValue("Converts binary '1000000000' from binary (511)", "-512", "1000000000");
}
+ @Test
public void testErrors() {
confirmValueError("fails for >= 512 or < -512","512", ErrorEval.NUM_ERROR);
confirmValueError("fails for >= 512 or < -512","-513", ErrorEval.NUM_ERROR);
@@ -76,9 +79,10 @@ public final class TestDec2Bin extends T
confirmValueError("not a valid decimal number","3.14159a", ErrorEval.VALUE_INVALID);
}
+ @Test
public void testEvalOperationEvaluationContext() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0) };
ValueEval result = new Dec2Bin().evaluate(args, ctx);
@@ -86,9 +90,10 @@ public final class TestDec2Bin extends T
assertEquals("1101", ((StringEval) result).getStringValue());
}
+ @Test
public void testEvalOperationEvaluationContextFails() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ErrorEval.VALUE_INVALID };
ValueEval result = new Dec2Bin().evaluate(args, ctx);
@@ -111,7 +116,7 @@ public final class TestDec2Bin extends T
HSSFEvaluationWorkbook workbook = HSSFEvaluationWorkbook.create(wb);
WorkbookEvaluator workbookEvaluator = new WorkbookEvaluator(workbook, new IStabilityClassifier() {
-
+
@Override
public boolean isCellFinal(int sheetIndex, int rowIndex, int columnIndex) {
return true;
@@ -121,9 +126,10 @@ public final class TestDec2Bin extends T
workbook, 0, 0, 0, null);
}
+ @Test
public void testRefs() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0) };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
@@ -131,9 +137,10 @@ public final class TestDec2Bin extends T
assertEquals("1101", ((StringEval) result).getStringValue());
}
+ @Test
public void testWithPlacesIntInt() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
@@ -142,9 +149,10 @@ public final class TestDec2Bin extends T
assertEquals("1101", ((StringEval) result).getStringValue());
}
+ @Test
public void testWithPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Bin().evaluate(args, ctx);
@@ -153,9 +161,10 @@ public final class TestDec2Bin extends T
assertEquals("1101", ((StringEval) result).getStringValue());
}
+ @Test
public void testWithToShortPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 3) };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
@@ -163,9 +172,10 @@ public final class TestDec2Bin extends T
assertEquals(ErrorEval.NUM_ERROR, result);
}
+ @Test
public void testWithTooManyParamsIntInt() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
@@ -173,9 +183,10 @@ public final class TestDec2Bin extends T
assertEquals(ErrorEval.VALUE_INVALID, result);
}
+ @Test
public void testWithTooManyParams() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Bin().evaluate(args, ctx);
@@ -183,9 +194,10 @@ public final class TestDec2Bin extends T
assertEquals(ErrorEval.VALUE_INVALID, result);
}
+ @Test
public void testWithErrorPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ErrorEval.NULL_INTERSECTION };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
@@ -193,9 +205,10 @@ public final class TestDec2Bin extends T
assertEquals(ErrorEval.NULL_INTERSECTION, result);
}
+ @Test
public void testWithNegativePlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 2) };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
@@ -203,9 +216,10 @@ public final class TestDec2Bin extends T
assertEquals(ErrorEval.NUM_ERROR, result);
}
+ @Test
public void testWithZeroPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), new NumberEval(0.0) };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
@@ -213,16 +227,18 @@ public final class TestDec2Bin extends T
assertEquals(ErrorEval.NUM_ERROR, result);
}
+ @Test
public void testWithEmptyPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(1, 0) };
ValueEval result = new Dec2Bin().evaluate(args, -1, -1);
assertEquals(ErrorEval.class, result.getClass());
assertEquals(ErrorEval.VALUE_INVALID, result);
}
-
+
+ @Test
public void testBackAndForth() {
for (int i = -512; i < 512; i++) {
ValueEval result = invokeValue(Integer.toString(i));
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Hex.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Hex.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Hex.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDec2Hex.java Mon Dec 9 00:37:21 2019
@@ -17,7 +17,7 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -31,13 +31,14 @@ import org.apache.poi.ss.formula.eval.Va
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
+import org.junit.Test;
/**
* Tests for {@link Dec2Hex}
*
* @author cedric dot walter @ gmail dot com
*/
-public final class TestDec2Hex extends TestCase {
+public final class TestDec2Hex {
private static ValueEval invokeValue(String number1, String number2) {
ValueEval[] args = new ValueEval[] { new StringEval(number1), new StringEval(number2), };
@@ -72,6 +73,7 @@ public final class TestDec2Hex extends T
assertEquals(msg, numError, result);
}
+ @Test
public void testBasic() {
confirmValue("Converts decimal 100 to hexadecimal with 0 characters (64)", "100","0", "64");
confirmValue("Converts decimal 100 to hexadecimal with 4 characters (0064)", "100","4", "0064");
@@ -81,9 +83,9 @@ public final class TestDec2Hex extends T
confirmValue("Converts decimal -54 to hexadecimal, 2 is ignored","-54", "2", "FFFFFFFFCA");
confirmValue("places is optionnal","-54", "FFFFFFFFCA");
-
+
confirmValue("Converts normal decimal number to hexadecimal", "100", "64");
-
+
String maxInt = Integer.toString(Integer.MAX_VALUE);
assertEquals("2147483647", maxInt);
confirmValue("Converts INT_MAX to hexadecimal", maxInt, "7FFFFFFF");
@@ -95,16 +97,17 @@ public final class TestDec2Hex extends T
String maxIntPlusOne = Long.toString(((long)Integer.MAX_VALUE)+1);
assertEquals("2147483648", maxIntPlusOne);
confirmValue("Converts INT_MAX + 1 to hexadecimal", maxIntPlusOne, "80000000");
-
+
String maxLong = Long.toString(549755813887l);
assertEquals("549755813887", maxLong);
confirmValue("Converts the max supported value to hexadecimal", maxLong, "7FFFFFFFFF");
-
+
String minLong = Long.toString(-549755813888l);
assertEquals("-549755813888", minLong);
confirmValue("Converts the min supported value to hexadecimal", minLong, "FF80000000");
}
+ @Test
public void testErrors() {
confirmValueError("Out of range min number","-549755813889","0", ErrorEval.NUM_ERROR);
confirmValueError("Out of range max number","549755813888","0", ErrorEval.NUM_ERROR);
@@ -113,9 +116,10 @@ public final class TestDec2Hex extends T
confirmValueError("non number places not allowed","ABCDEF","0", ErrorEval.VALUE_INVALID);
}
+ @Test
public void testEvalOperationEvaluationContextFails() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ErrorEval.VALUE_INVALID };
ValueEval result = new Dec2Hex().evaluate(args, ctx);
@@ -136,7 +140,7 @@ public final class TestDec2Hex extends T
HSSFEvaluationWorkbook workbook = HSSFEvaluationWorkbook.create(wb);
WorkbookEvaluator workbookEvaluator = new WorkbookEvaluator(workbook, new IStabilityClassifier() {
-
+
@Override
public boolean isCellFinal(int sheetIndex, int rowIndex, int columnIndex) {
return true;
@@ -146,9 +150,10 @@ public final class TestDec2Hex extends T
workbook, 0, 0, 0, null);
}
+ @Test
public void testRefs() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0) };
ValueEval result = new Dec2Hex().evaluate(args, -1, -1);
@@ -156,9 +161,10 @@ public final class TestDec2Hex extends T
assertEquals("7B", ((StringEval) result).getStringValue());
}
+ @Test
public void testWithPlacesIntInt() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Hex().evaluate(args, -1, -1);
@@ -166,9 +172,10 @@ public final class TestDec2Hex extends T
assertEquals("0000007B", ((StringEval) result).getStringValue());
}
+ @Test
public void testWithPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Hex().evaluate(args, ctx);
@@ -176,9 +183,10 @@ public final class TestDec2Hex extends T
assertEquals("0000007B", ((StringEval) result).getStringValue());
}
+ @Test
public void testWithTooManyParamsIntInt() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Hex().evaluate(args, -1, -1);
@@ -186,9 +194,10 @@ public final class TestDec2Hex extends T
assertEquals(ErrorEval.VALUE_INVALID, result);
}
+ @Test
public void testWithTooManyParams() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 1), ctx.getRefEval(0, 1) };
ValueEval result = new Dec2Hex().evaluate(args, ctx);
@@ -196,9 +205,10 @@ public final class TestDec2Hex extends T
assertEquals(ErrorEval.VALUE_INVALID, result);
}
+ @Test
public void testWithErrorPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ErrorEval.NULL_INTERSECTION };
ValueEval result = new Dec2Hex().evaluate(args, -1, -1);
@@ -206,9 +216,10 @@ public final class TestDec2Hex extends T
assertEquals(ErrorEval.NULL_INTERSECTION, result);
}
+ @Test
public void testWithNegativePlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 2) };
ValueEval result = new Dec2Hex().evaluate(args, -1, -1);
@@ -216,9 +227,10 @@ public final class TestDec2Hex extends T
assertEquals(ErrorEval.NUM_ERROR, result);
}
+ @Test
public void testWithEmptyPlaces() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(1, 0) };
ValueEval result = new Dec2Hex().evaluate(args, -1, -1);
@@ -226,6 +238,7 @@ public final class TestDec2Hex extends T
assertEquals(ErrorEval.VALUE_INVALID, result);
}
+ @Test
public void testBackAndForth() {
for (int i = -512; i < 512; i++) {
ValueEval result = invokeValue(Integer.toString(i));
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDelta.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDelta.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDelta.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDelta.java Mon Dec 9 00:37:21 2019
@@ -17,18 +17,20 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
/**
* Tests for {@link org.apache.poi.ss.formula.functions.Delta}
*
* @author cedric dot walter @ gmail dot com
*/
-public final class TestDelta extends TestCase {
+public final class TestDelta {
private static ValueEval invokeValue(String number1, String number2) {
ValueEval[] args = new ValueEval[] { new StringEval(number1), new StringEval(number2), };
@@ -47,6 +49,7 @@ public final class TestDelta extends Tes
assertEquals(ErrorEval.VALUE_INVALID, result);
}
+ @Test
public void testBasic() {
confirmValue("5","4", 0); // Checks whether 5 equals 4 (0)
confirmValue("5","5", 1); // Checks whether 5 equals 5 (1)
@@ -56,6 +59,7 @@ public final class TestDelta extends Tes
confirmValue("0.5000000000","0.5", 1);
}
+ @Test
public void testErrors() {
confirmValueError("A1","B2");
confirmValueError("AAAA","BBBB");
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFinanceLib.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFinanceLib.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFinanceLib.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFinanceLib.java Mon Dec 9 00:37:21 2019
@@ -21,54 +21,59 @@
package org.apache.poi.ss.formula.functions;
+import org.junit.Test;
+
/**
* @author Amol S. Deshmukh < amolweb at ya hoo dot com >
*
*/
public class TestFinanceLib extends AbstractNumericTestCase {
+ @Test
public void testFv() {
double f, r, y, p, x;
int n;
boolean t = false;
-
+
r = 0; n = 3; y = 2; p = 7; t = true;
f = FinanceLib.fv(r, n, y, p, t);
x = -13;
assertEquals("fv ", x, f);
-
+
r = 1; n = 10; y = 100; p = 10000; t = false;
f = FinanceLib.fv(r, n, y, p, t);
x = -10342300;
assertEquals("fv ", x, f);
-
+
r = 1; n = 10; y = 100; p = 10000; t = true;
f = FinanceLib.fv(r, n, y, p, t);
x = -10444600;
assertEquals("fv ", x, f);
-
+
r = 2; n = 12; y = 120; p = 12000; t = false;
f = FinanceLib.fv(r, n, y, p, t);
x = -6409178400d;
assertEquals("fv ", x, f);
-
+
r = 2; n = 12; y = 120; p = 12000; t = true;
f = FinanceLib.fv(r, n, y, p, t);
x = -6472951200d;
assertEquals("fv ", x, f);
-
+
// cross tests with pv
r = 2.95; n = 13; y = 13000; p = -4406.78544294496; t = false;
f = FinanceLib.fv(r, n, y, p, t);
x = 333891.230010986; // as returned by excel
assertEquals("fv ", x, f);
-
+
r = 2.95; n = 13; y = 13000; p = -17406.7852148156; t = true;
f = FinanceLib.fv(r, n, y, p, t);
x = 333891.230102539; // as returned by excel
assertEquals("fv ", x, f);
-
+
}
+
+ @Test
public void testNpv() {
double r;
double[] v;
@@ -79,22 +84,24 @@ public class TestFinanceLib extends Abst
npv = FinanceLib.npv(r, v);
x = 162.5;
assertEquals("npv ", x, npv);
-
+
r = 2.5; v = new double[]{1000, 666.66666, 333.33, 12.2768416};
npv = FinanceLib.npv(r, v);
x = 347.99232604144827;
assertEquals("npv ", x, npv);
-
+
r = 12.33333; v = new double[]{1000, 0, -900, -7777.5765};
npv = FinanceLib.npv(r, v);
x = 74.3742433377061;
assertEquals("npv ", x, npv);
-
+
r = 0.05; v = new double[]{200000, 300000.55, 400000, 1000000, 6000000, 7000000, -300000};
npv = FinanceLib.npv(r, v);
x = 11342283.4233124;
assertEquals("npv ", x, npv);
}
+
+ @Test
public void testPmt() {
double f, r, y, p, x;
int n;
@@ -103,31 +110,32 @@ public class TestFinanceLib extends Abst
r = 0; n = 3; p = 2; f = 7; t = true;
y = FinanceLib.pmt(r, n, p, f, t);
x = -3;
- assertEquals("pmt ", x, y);
-
+ assertEquals("pmt ", x, y);
+
// cross check with pv
r = 1; n = 10; p = -109.66796875; f = 10000; t = false;
y = FinanceLib.pmt(r, n, p, f, t);
x = 100;
- assertEquals("pmt ", x, y);
-
+ assertEquals("pmt ", x, y);
+
r = 1; n = 10; p = -209.5703125; f = 10000; t = true;
y = FinanceLib.pmt(r, n, p, f, t);
x = 100;
assertEquals("pmt ", x, y);
-
+
// cross check with fv
r = 2; n = 12; f = -6409178400d; p = 12000; t = false;
y = FinanceLib.pmt(r, n, p, f, t);
x = 120;
- assertEquals("pmt ", x, y);
-
+ assertEquals("pmt ", x, y);
+
r = 2; n = 12; f = -6472951200d; p = 12000; t = true;
y = FinanceLib.pmt(r, n, p, f, t);
x = 120;
assertEquals("pmt ", x, y);
}
-
+
+ @Test
public void testPv() {
double f, r, y, p, x;
int n;
@@ -141,65 +149,66 @@ public class TestFinanceLib extends Abst
r = 1; n = 10; y = 100; f = 10000; t = false;
p = FinanceLib.pv(r, n, y, f, t);
x = -109.66796875;
- assertEquals("pv ", x, p);
-
+ assertEquals("pv ", x, p);
+
r = 1; n = 10; y = 100; f = 10000; t = true;
p = FinanceLib.pv(r, n, y, f, t);
x = -209.5703125;
- assertEquals("pv ", x, p);
-
+ assertEquals("pv ", x, p);
+
r = 2.95; n = 13; y = 13000; f = 333891.23; t = false;
p = FinanceLib.pv(r, n, y, f, t);
x = -4406.78544294496;
assertEquals("pv ", x, p);
-
+
r = 2.95; n = 13; y = 13000; f = 333891.23; t = true;
p = FinanceLib.pv(r, n, y, f, t);
x = -17406.7852148156;
assertEquals("pv ", x, p);
-
+
// cross tests with fv
r = 2; n = 12; y = 120; f = -6409178400d; t = false;
p = FinanceLib.pv(r, n, y, f, t);
x = 12000;
assertEquals("pv ", x, p);
-
+
r = 2; n = 12; y = 120; f = -6472951200d; t = true;
p = FinanceLib.pv(r, n, y, f, t);
- x = 12000;
+ x = 12000;
assertEquals("pv ", x, p);
-
+
}
-
+
+ @Test
public void testNper() {
double f, r, y, p, x, n;
boolean t = false;
-
+
r = 0; y = 7; p = 2; f = 3; t = false;
n = FinanceLib.nper(r, y, p, f, t);
x = -0.71428571429; // can you believe it? excel returns nper as a fraction!??
- assertEquals("nper ", x, n);
-
+ assertEquals("nper ", x, n);
+
// cross check with pv
r = 1; y = 100; p = -109.66796875; f = 10000; t = false;
n = FinanceLib.nper(r, y, p, f, t);
x = 10;
- assertEquals("nper ", x, n);
-
+ assertEquals("nper ", x, n);
+
r = 1; y = 100; p = -209.5703125; f = 10000; t = true;
n = FinanceLib.nper(r, y, p, f, t);
x = 10;
assertEquals("nper ", x, n);
-
+
// cross check with fv
r = 2; y = 120; f = -6409178400d; p = 12000; t = false;
n = FinanceLib.nper(r, y, p, f, t);
x = 12;
- assertEquals("nper ", x, n);
-
+ assertEquals("nper ", x, n);
+
r = 2; y = 120; f = -6472951200d; p = 12000; t = true;
n = FinanceLib.nper(r, y, p, f, t);
- x = 12;
+ x = 12;
assertEquals("nper ", x, n);
}
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestHex2Dec.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestHex2Dec.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestHex2Dec.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestHex2Dec.java Mon Dec 9 00:37:21 2019
@@ -17,24 +17,24 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.formula.IStabilityClassifier;
import org.apache.poi.ss.formula.OperationEvaluationContext;
import org.apache.poi.ss.formula.WorkbookEvaluator;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
/**
* Tests for {@link Hex2Dec}
*
* @author cedric dot walter @ gmail dot com
*/
-public final class TestHex2Dec extends TestCase {
+public final class TestHex2Dec {
private static ValueEval invokeValue(String number1) {
ValueEval[] args = new ValueEval[] { new StringEval(number1) };
@@ -53,30 +53,34 @@ public final class TestHex2Dec extends T
assertEquals(msg, numError, result);
}
+ @Test
public void testBasic() {
confirmValue("Converts hex 'A5' to decimal (165)", "A5", "165");
confirmValue("Converts hex FFFFFFFF5B to decimal (-165)", "FFFFFFFF5B", "-165");
confirmValue("Converts hex 3DA408B9 to decimal (-165)", "3DA408B9", "1034160313");
}
+ @Test
public void testErrors() {
confirmValueError("not a valid hex number","GGGGGGG", ErrorEval.NUM_ERROR);
confirmValueError("not a valid hex number","3.14159", ErrorEval.NUM_ERROR);
}
+ @Test
public void testEvalOperationEvaluationContext() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0) };
ValueEval result = new Hex2Dec().evaluate(args, ctx);
assertEquals(NumberEval.class, result.getClass());
assertEquals("0", ((NumberEval) result).getStringValue());
}
-
+
+ @Test
public void testEvalOperationEvaluationContextFails() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0), ctx.getRefEval(0, 0) };
ValueEval result = new Hex2Dec().evaluate(args, ctx);
@@ -88,20 +92,15 @@ public final class TestHex2Dec extends T
HSSFWorkbook wb = new HSSFWorkbook();
wb.createSheet();
HSSFEvaluationWorkbook workbook = HSSFEvaluationWorkbook.create(wb);
- WorkbookEvaluator workbookEvaluator = new WorkbookEvaluator(workbook, new IStabilityClassifier() {
-
- @Override
- public boolean isCellFinal(int sheetIndex, int rowIndex, int columnIndex) {
- return true;
- }
- }, null);
+ WorkbookEvaluator workbookEvaluator = new WorkbookEvaluator(workbook, (sheetIndex, rowIndex, columnIndex) -> true, null);
return new OperationEvaluationContext(workbookEvaluator,
workbook, 0, 0, 0, null);
}
+ @Test
public void testRefs() {
OperationEvaluationContext ctx = createContext();
-
+
ValueEval[] args = new ValueEval[] { ctx.getRefEval(0, 0) };
ValueEval result = new Hex2Dec().evaluate(args, -1, -1);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIPMT.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIPMT.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIPMT.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIPMT.java Mon Dec 9 00:37:21 2019
@@ -19,24 +19,26 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-
-import junit.framework.TestCase;
+import org.junit.Test;
/**
* Test cases for IPMT()
*
*/
-public final class TestIPMT extends TestCase {
+public final class TestIPMT {
/**
* from http://office.microsoft.com/en-001/excel-help/ipmt-HP005209145.aspx
*/
+ @Test
public void testFromFile() {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("finance.xls");
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIndex.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIndex.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIndex.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIndex.java Mon Dec 9 00:37:21 2019
@@ -17,24 +17,26 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.util.Arrays;
import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
-
import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.hssf.usermodel.HSSFCell;
-import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.formula.WorkbookEvaluator;
import org.apache.poi.ss.formula.eval.AreaEval;
import org.apache.poi.ss.formula.eval.MissingArgEval;
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.ValueEval;
-import org.apache.poi.ss.formula.WorkbookEvaluator;
-import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.ss.util.CellReference;
+import org.junit.Test;
/**
* Tests for the INDEX() function.</p>
@@ -46,7 +48,7 @@ import org.apache.poi.ss.util.CellRefere
*
* @author Josh Micich
*/
-public final class TestIndex extends TestCase {
+public final class TestIndex {
private static final Index FUNC_INST = new Index();
private static final double[] TEST_VALUES0 = {
@@ -61,6 +63,7 @@ public final class TestIndex extends Tes
/**
* For the case when the first argument to INDEX() is an area reference
*/
+ @Test
public void testEvaluateAreaReference() {
double[] values = TEST_VALUES0;
@@ -109,6 +112,7 @@ public final class TestIndex extends Tes
* Tests expressions like "INDEX(A1:C1,,2)".<br>
* This problem was found while fixing bug 47048 and is observable up to svn r773441.
*/
+ @Test
public void testMissingArg() {
ValueEval[] values = {
new NumberEval(25.0),
@@ -138,6 +142,7 @@ public final class TestIndex extends Tes
* A formula like "OFFSET(INDEX(A1:B2,2,1),1,1,1,1)" should return the value of cell B3.
* This works because the INDEX() function returns a reference to A2 (not the value of A2)
*/
+ @Test
public void testReferenceResult() {
ValueEval[] values = new ValueEval[4];
Arrays.fill(values, NumberEval.ZERO);
@@ -162,6 +167,7 @@ public final class TestIndex extends Tes
return ae;
}
+ @Test
public void test61859(){
Workbook wb = HSSFTestDataSamples.openSampleWorkbook("maxindextest.xls");
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
@@ -170,41 +176,43 @@ public final class TestIndex extends Tes
Cell ex1cell1 = example1.getRow(1).getCell(6);
assertEquals("MAX(INDEX(($B$2:$B$11=F2)*$A$2:$A$11,0))", ex1cell1.getCellFormula());
fe.evaluate(ex1cell1);
- assertEquals(4.0, ex1cell1.getNumericCellValue());
+ assertEquals(4.0, ex1cell1.getNumericCellValue(), 0);
Cell ex1cell2 = example1.getRow(2).getCell(6);
assertEquals("MAX(INDEX(($B$2:$B$11=F3)*$A$2:$A$11,0))", ex1cell2.getCellFormula());
fe.evaluate(ex1cell2);
- assertEquals(10.0, ex1cell2.getNumericCellValue());
+ assertEquals(10.0, ex1cell2.getNumericCellValue(), 0);
Cell ex1cell3 = example1.getRow(3).getCell(6);
assertEquals("MAX(INDEX(($B$2:$B$11=F4)*$A$2:$A$11,0))", ex1cell3.getCellFormula());
fe.evaluate(ex1cell3);
- assertEquals(20.0, ex1cell3.getNumericCellValue());
+ assertEquals(20.0, ex1cell3.getNumericCellValue(), 0);
}
+ @Test
public void test61116(){
Workbook workbook = HSSFTestDataSamples.openSampleWorkbook("61116.xls");
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
Sheet sheet = workbook.getSheet("sample2");
Row row = sheet.getRow(1);
- assertEquals(3.0, evaluator.evaluate(row.getCell(1)).getNumberValue());
- assertEquals(3.0, evaluator.evaluate(row.getCell(2)).getNumberValue());
+ assertEquals(3.0, evaluator.evaluate(row.getCell(1)).getNumberValue(), 0);
+ assertEquals(3.0, evaluator.evaluate(row.getCell(2)).getNumberValue(), 0);
row = sheet.getRow(2);
- assertEquals(5.0, evaluator.evaluate(row.getCell(1)).getNumberValue());
- assertEquals(5.0, evaluator.evaluate(row.getCell(2)).getNumberValue());
+ assertEquals(5.0, evaluator.evaluate(row.getCell(1)).getNumberValue(), 0);
+ assertEquals(5.0, evaluator.evaluate(row.getCell(2)).getNumberValue(), 0);
}
/**
* If both the Row_num and Column_num arguments are used,
* INDEX returns the value in the cell at the intersection of Row_num and Column_num
*/
+ @Test
public void testReference2DArea(){
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet();
- /**
+ /*
* 1 2 3
* 4 5 6
* 7 8 9
@@ -223,17 +231,18 @@ public final class TestIndex extends Tes
Cell c2 = sheet.getRow(0).createCell(6);
c2.setCellFormula("INDEX(A1:C3,3,2)");
- assertEquals(5.0, fe.evaluate(c1).getNumberValue());
- assertEquals(8.0, fe.evaluate(c2).getNumberValue());
+ assertEquals(5.0, fe.evaluate(c1).getNumberValue(), 0);
+ assertEquals(8.0, fe.evaluate(c2).getNumberValue(), 0);
}
/**
* If Column_num is 0 (zero), INDEX returns the array of values for the entire row.
*/
+ @Test
public void testArrayArgument_RowLookup(){
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet();
- /**
+ /*
* 1 2 3
* 4 5 6
* 7 8 9
@@ -253,18 +262,19 @@ public final class TestIndex extends Tes
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
- assertEquals(6.0, fe.evaluate(c1).getNumberValue());
- assertEquals(15.0, fe.evaluate(c2).getNumberValue());
+ assertEquals(6.0, fe.evaluate(c1).getNumberValue(), 0);
+ assertEquals(15.0, fe.evaluate(c2).getNumberValue(), 0);
}
/**
* If Row_num is 0 (zero), INDEX returns the array of values for the entire column.
*/
+ @Test
public void testArrayArgument_ColumnLookup(){
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet();
- /**
+ /*
* 1 2 3
* 4 5 6
* 7 8 9
@@ -284,8 +294,8 @@ public final class TestIndex extends Tes
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
- assertEquals(12.0, fe.evaluate(c1).getNumberValue());
- assertEquals(18.0, fe.evaluate(c2).getNumberValue());
+ assertEquals(12.0, fe.evaluate(c1).getNumberValue(), 0);
+ assertEquals(18.0, fe.evaluate(c2).getNumberValue(), 0);
}
/**
@@ -294,10 +304,11 @@ public final class TestIndex extends Tes
* The sum of the range starting at B1, and ending at the intersection of the 2nd row of the range B1:B3,
* which is the sum of B1:B2.
*/
+ @Test
public void testDynamicReference(){
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet();
- /**
+ /*
* 1 2 3
* 4 5 6
* 7 8 9
@@ -314,6 +325,6 @@ public final class TestIndex extends Tes
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
- assertEquals(7.0, fe.evaluate(c1).getNumberValue());
+ assertEquals(7.0, fe.evaluate(c1).getNumberValue(), 0);
}
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIntercept.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIntercept.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIntercept.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIntercept.java Mon Dec 9 00:37:21 2019
@@ -19,7 +19,7 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.usermodel.HSSFCell;
@@ -29,12 +29,14 @@ import org.apache.poi.hssf.usermodel.HSS
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
+
/**
* Test for Excel function INTERCEPT()
*
* @author Johan Karlsteen
*/
-public final class TestIntercept extends TestCase {
+public final class TestIntercept {
private static final Function INTERCEPT = new Intercept();
private static ValueEval invoke(Function function, ValueEval xArray, ValueEval yArray) {
@@ -57,6 +59,7 @@ public final class TestIntercept extends
confirmError(INTERCEPT, xArray, yArray, expectedError);
}
+ @Test
public void testBasic() {
Double exp = Math.pow(10, 7.5);
ValueEval[] yValues = {
@@ -85,6 +88,7 @@ public final class TestIntercept extends
/**
* number of items in array is not limited to 30
*/
+ @Test
public void testLargeArrays() {
ValueEval[] yValues = createMockNumberArray(100, 3); // [1,2,0,1,2,0,...,0,1]
yValues[0] = new NumberEval(2.0); // Changes first element to 2
@@ -107,6 +111,7 @@ public final class TestIntercept extends
return EvalFactory.createAreaEval(refStr, values);
}
+ @Test
public void testErrors() {
ValueEval[] xValues = {
ErrorEval.REF_INVALID,
@@ -144,6 +149,7 @@ public final class TestIntercept extends
* Example from
* http://office.microsoft.com/en-us/excel-help/intercept-function-HP010062512.aspx?CTT=5&origin=HA010277524
*/
+ @Test
public void testFromFile() {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("intercept.xls");
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIrr.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIrr.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIrr.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIrr.java Mon Dec 9 00:37:21 2019
@@ -17,6 +17,9 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
+import junit.framework.AssertionFailedError;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
@@ -25,46 +28,46 @@ import org.apache.poi.hssf.usermodel.HSS
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import org.junit.Test;
/**
* Tests for {@link Irr}
*
* @author Marcel May
*/
-public final class TestIrr extends TestCase {
+public final class TestIrr {
+ @Test
public void testIrr() {
// http://en.wikipedia.org/wiki/Internal_rate_of_return#Example
double[] incomes = {-4000d, 1200d, 1410d, 1875d, 1050d};
double irr = Irr.irr(incomes);
double irrRounded = Math.round(irr * 1000d) / 1000d;
- assertEquals("irr", 0.143d, irrRounded);
+ assertEquals("irr", 0.143d, irrRounded, 0);
// http://www.techonthenet.com/excel/formulas/irr.php
incomes = new double[]{-7500d, 3000d, 5000d, 1200d, 4000d};
irr = Irr.irr(incomes);
irrRounded = Math.round(irr * 100d) / 100d;
- assertEquals("irr", 0.28d, irrRounded);
+ assertEquals("irr", 0.28d, irrRounded, 0);
incomes = new double[]{-10000d, 3400d, 6500d, 1000d};
irr = Irr.irr(incomes);
irrRounded = Math.round(irr * 100d) / 100d;
- assertEquals("irr", 0.05, irrRounded);
+ assertEquals("irr", 0.05, irrRounded, 0);
incomes = new double[]{100d, -10d, -110d};
irr = Irr.irr(incomes);
irrRounded = Math.round(irr * 100d) / 100d;
- assertEquals("irr", 0.1, irrRounded);
+ assertEquals("irr", 0.1, irrRounded, 0);
incomes = new double[]{-70000d, 12000, 15000};
irr = Irr.irr(incomes, -0.1);
irrRounded = Math.round(irr * 100d) / 100d;
- assertEquals("irr", -0.44, irrRounded);
+ assertEquals("irr", -0.44, irrRounded, 0);
}
+ @Test
public void testEvaluateInSheet() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
@@ -83,9 +86,10 @@ public final class TestIrr extends TestC
fe.clearAllCachedResultValues();
fe.evaluateFormulaCell(cell);
double res = cell.getNumericCellValue();
- assertEquals(0.143d, Math.round(res * 1000d) / 1000d);
+ assertEquals(0.143d, Math.round(res * 1000d) / 1000d, 0);
}
+ @Test
public void testIrrFromSpreadsheet(){
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("IrrNpvTestCaseData.xls");
HSSFSheet sheet = wb.getSheet("IRR-NPV");
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIsBlank.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIsBlank.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIsBlank.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestIsBlank.java Mon Dec 9 00:37:21 2019
@@ -17,6 +17,8 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
import org.apache.poi.hssf.usermodel.HSSFRow;
@@ -24,16 +26,17 @@ import org.apache.poi.hssf.usermodel.HSS
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
+import org.junit.Test;
-import junit.framework.TestCase;
/**
* Tests for Excel function ISBLANK()
- *
+ *
* @author Josh Micich
*/
-public final class TestIsBlank extends TestCase {
+public final class TestIsBlank {
- public void test3DArea() {
+ @Test
+ public void test3DArea() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet();
wb.setSheetName(0, "Sheet1");
@@ -42,18 +45,18 @@ public final class TestIsBlank extends T
HSSFRow row = sheet1.createRow(0);
HSSFCell cell = row.createCell(0);
-
+
cell.setCellFormula("isblank(Sheet2!A1:A1)");
-
+
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
CellValue result = fe.evaluate(cell);
assertEquals(CellType.BOOLEAN, result.getCellType());
assertEquals(true, result.getBooleanValue());
-
+
cell.setCellFormula("isblank(D7:D7)");
-
+
result = fe.evaluate(cell);
assertEquals(CellType.BOOLEAN, result.getCellType());
assertEquals(true, result.getBooleanValue());
- }
+ }
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLeftRight.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLeftRight.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLeftRight.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLeftRight.java Mon Dec 9 00:37:21 2019
@@ -17,57 +17,46 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
-
-import junit.framework.TestCase;
+import org.junit.Test;
/**
- *
+ *
* Test cases for {@link TextFunction#LEFT} and {@link TextFunction#RIGHT}
- *
+ *
* @author Brendan Nolan
*
*/
-public class TestLeftRight extends TestCase {
+public class TestLeftRight {
private static final NumberEval NEGATIVE_OPERAND = new NumberEval(-1.0);
private static final StringEval ANY_STRING_VALUE = new StringEval("ANYSTRINGVALUE");
-
+
private static ValueEval invokeLeft(ValueEval text, ValueEval operand) {
ValueEval[] args = new ValueEval[] { text, operand };
return TextFunction.LEFT.evaluate(args, -1, (short)-1);
}
-
+
private static ValueEval invokeRight(ValueEval text, ValueEval operand) {
ValueEval[] args = new ValueEval[] { text, operand };
return TextFunction.RIGHT.evaluate(args, -1, (short)-1);
}
-
- public void testLeftRight_bug49841() {
-
- try {
- invokeLeft(ANY_STRING_VALUE, NEGATIVE_OPERAND);
- invokeRight(ANY_STRING_VALUE, NEGATIVE_OPERAND);
- } catch (StringIndexOutOfBoundsException e) {
- fail("Identified bug 49841");
- }
+ @Test
+ public void testLeftRight_bug49841() {
+ invokeLeft(ANY_STRING_VALUE, NEGATIVE_OPERAND);
+ invokeRight(ANY_STRING_VALUE, NEGATIVE_OPERAND);
}
-
+
+ @Test
public void testLeftRightNegativeOperand() {
-
- assertEquals(ErrorEval.VALUE_INVALID, invokeRight(ANY_STRING_VALUE, NEGATIVE_OPERAND));
+ assertEquals(ErrorEval.VALUE_INVALID, invokeRight(ANY_STRING_VALUE, NEGATIVE_OPERAND));
assertEquals(ErrorEval.VALUE_INVALID, invokeLeft(ANY_STRING_VALUE, NEGATIVE_OPERAND));
-
}
-
-
-
-
-
-
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLen.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLen.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLen.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLen.java Mon Dec 9 00:37:21 2019
@@ -17,7 +17,7 @@
package org.apache.poi.ss.formula.functions;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
import org.apache.poi.ss.formula.eval.BlankEval;
import org.apache.poi.ss.formula.eval.BoolEval;
@@ -25,12 +25,14 @@ import org.apache.poi.ss.formula.eval.Er
import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
+import org.junit.Test;
+
/**
* Tests for Excel function LEN()
*
* @author Josh Micich
*/
-public final class TestLen extends TestCase {
+public final class TestLen {
private static ValueEval invokeLen(ValueEval text) {
ValueEval[] args = new ValueEval[] { text, };
@@ -49,14 +51,15 @@ public final class TestLen extends TestC
assertEquals(expectedError.getErrorCode(), ((ErrorEval)result).getErrorCode());
}
+ @Test
public void testBasic() {
-
confirmLen(new StringEval("galactic"), 8);
}
/**
* Valid cases where text arg is not exactly a string
*/
+ @Test
public void testUnusualArgs() {
// text (first) arg type is number, other args are strings with fractional digits
@@ -66,6 +69,7 @@ public final class TestLen extends TestC
confirmLen(BlankEval.instance, 0);
}
+ @Test
public void testErrors() {
confirmLen(ErrorEval.NAME_INVALID, ErrorEval.NAME_INVALID);
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLogicalFunction.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLogicalFunction.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLogicalFunction.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestLogicalFunction.java Mon Dec 9 00:37:21 2019
@@ -17,6 +17,9 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -28,26 +31,23 @@ import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellReference;
-
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
/**
* LogicalFunction unit tests.
*/
-public class TestLogicalFunction extends TestCase {
+public class TestLogicalFunction {
private FormulaEvaluator evaluator;
private Row row3;
private Cell cell1;
private Cell cell2;
- @Override
+ @Before
public void setUp() throws IOException {
- Workbook wb = new HSSFWorkbook();
- try {
+ try (Workbook wb = new HSSFWorkbook()) {
buildWorkbook(wb);
- } finally {
- wb.close();
}
}
@@ -79,6 +79,7 @@ public class TestLogicalFunction extends
evaluator = wb.getCreationHelper().createFormulaEvaluator();
}
+ @Test
public void testIsErr() {
cell1 = row3.createCell(0);
cell1.setCellFormula("ISERR(B1)"); // produces #DIV/0!
@@ -88,10 +89,11 @@ public class TestLogicalFunction extends
CellValue cell1Value = evaluator.evaluate(cell1);
CellValue cell2Value = evaluator.evaluate(cell2);
- assertEquals(true, cell1Value.getBooleanValue());
- assertEquals(false, cell2Value.getBooleanValue());
+ assertTrue(cell1Value.getBooleanValue());
+ assertFalse(cell2Value.getBooleanValue());
}
+ @Test
public void testIsError() {
cell1 = row3.createCell(0);
cell1.setCellFormula("ISERROR(B1)"); // produces #DIV/0!
@@ -101,7 +103,7 @@ public class TestLogicalFunction extends
CellValue cell1Value = evaluator.evaluate(cell1);
CellValue cell2Value = evaluator.evaluate(cell2);
- assertEquals(true, cell1Value.getBooleanValue());
- assertEquals(true, cell2Value.getBooleanValue());
+ assertTrue(cell1Value.getBooleanValue());
+ assertTrue(cell2Value.getBooleanValue());
}
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMatch.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMatch.java?rev=1871067&r1=1871066&r2=1871067&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMatch.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMatch.java Mon Dec 9 00:37:21 2019
@@ -17,6 +17,9 @@
package org.apache.poi.ss.formula.functions;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
import org.apache.poi.ss.formula.eval.AreaEval;
import org.apache.poi.ss.formula.eval.BoolEval;
import org.apache.poi.ss.formula.eval.ErrorEval;
@@ -24,13 +27,12 @@ import org.apache.poi.ss.formula.eval.Nu
import org.apache.poi.ss.formula.eval.NumericValueEval;
import org.apache.poi.ss.formula.eval.StringEval;
import org.apache.poi.ss.formula.eval.ValueEval;
-
-import junit.framework.TestCase;
+import org.junit.Test;
/**
* Test cases for MATCH()
*/
-public final class TestMatch extends TestCase {
+public final class TestMatch {
/** less than or equal to */
private static final NumberEval MATCH_LARGEST_LTE = new NumberEval(1);
private static final NumberEval MATCH_EXACT = new NumberEval(0);
@@ -57,6 +59,7 @@ public final class TestMatch extends Tes
assertEquals(expected, nve.getNumberValue(), 0);
}
+ @Test
public void testSimpleNumber() {
ValueEval[] values = {
@@ -78,6 +81,7 @@ public final class TestMatch extends Tes
assertEquals(ErrorEval.NA, invokeMatch(new NumberEval(20), ae, MATCH_EXACT));
}
+ @Test
public void testReversedNumber() {
ValueEval[] values = {
@@ -99,6 +103,7 @@ public final class TestMatch extends Tes
assertEquals(ErrorEval.NA, invokeMatch(new NumberEval(26), ae, MATCH_SMALLEST_GTE));
}
+ @Test
public void testSimpleString() {
// Arrange
ValueEval[] values = {
@@ -120,6 +125,7 @@ public final class TestMatch extends Tes
assertEquals(ErrorEval.NA, invokeMatch(new StringEval("Hugh"), ae, MATCH_EXACT));
}
+ @Test
public void testSimpleWildcardValuesString() {
// Arrange
ValueEval[] values = {
@@ -149,6 +155,7 @@ public final class TestMatch extends Tes
confirmInt(5, invokeMatch(new StringEval("*Ian*"), ae, MATCH_LARGEST_LTE));
}
+ @Test
public void testTildeString() {
ValueEval[] values = {
@@ -162,6 +169,7 @@ public final class TestMatch extends Tes
confirmInt(2, invokeMatch(new StringEval("all~*"), ae, MATCH_EXACT));
}
+ @Test
public void testSimpleBoolean() {
ValueEval[] values = {
@@ -180,6 +188,7 @@ public final class TestMatch extends Tes
confirmInt(3, invokeMatch(BoolEval.TRUE, ae, MATCH_EXACT));
}
+ @Test
public void testHeterogeneous() {
ValueEval[] values = {
@@ -232,6 +241,7 @@ public final class TestMatch extends Tes
* Ensures that the match_type argument can be an <tt>AreaEval</tt>.<br>
* Bugzilla 44421
*/
+ @Test
public void testMatchArgTypeArea() {
ValueEval[] values = {
@@ -257,7 +267,8 @@ public final class TestMatch extends Tes
throw e;
}
}
-
+
+ @Test
public void testInvalidMatchType() {
ValueEval[] values = {
@@ -271,8 +282,8 @@ public final class TestMatch extends Tes
AreaEval ae = EvalFactory.createAreaEval("A1:A5", values);
confirmInt(2, invokeMatch(new NumberEval(5), ae, MATCH_LARGEST_LTE));
-
- assertEquals("Should return #REF! for invalid match type",
+
+ assertEquals("Should return #REF! for invalid match type",
ErrorEval.REF_INVALID, invokeMatch(new StringEval("Ben"), ae, MATCH_INVALID));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org