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=1872041&r1=1872040&r2=1872041&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 Fri Dec 27 23:00:13 2019 @@ -19,7 +19,6 @@ package org.apache.poi.ss.formula.functi 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; @@ -109,9 +108,7 @@ public final class TestCalendarFieldFunc cell11.setCellFormula(formulaText); evaluator.clearAllCachedResultValues(); CellValue cv = evaluator.evaluate(cell11); - if (cv.getCellType() != CellType.NUMERIC) { - throw new AssertionFailedError("Wrong result type: " + cv.formatAsString()); - } + assertEquals("Wrong result type", CellType.NUMERIC, cv.getCellType()); double actualValue = cv.getNumberValue(); assertEquals(expectedResult, actualValue, 0); }
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=1872041&r1=1872040&r2=1872041&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 Fri Dec 27 23:00:13 2019 @@ -22,7 +22,6 @@ import static org.junit.Assert.assertFal 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; @@ -152,9 +151,7 @@ public final class TestCountFuncs { assertNotNull(mp); StringEval seA = new StringEval("aa"); // this should not match the criteria '<>aa' StringEval seB = new StringEval("bb"); // this should match - if (mp.matches(seA) && !mp.matches(seB)) { - throw new AssertionFailedError("Identified bug 46647"); - } + assertFalse("Identified bug 46647", mp.matches(seA) && !mp.matches(seB)); assertFalse(mp.matches(seA)); assertTrue(mp.matches(seB)); @@ -280,16 +277,19 @@ public final class TestCountFuncs { I_MatchPredicate mp; mp = Countif.createCriteriaPredicate(ev, 9, srcColIx); + assertNotNull(mp); confirmPredicate(true, mp, srcColIx); confirmPredicate(false, mp, "abc"); confirmPredicate(false, mp, ErrorEval.DIV_ZERO); mp = Countif.createCriteriaPredicate(ev, 10, srcColIx); + assertNotNull(mp); confirmPredicate(false, mp, srcColIx); confirmPredicate(true, mp, "abc"); confirmPredicate(false, mp, ErrorEval.DIV_ZERO); mp = Countif.createCriteriaPredicate(ev, 11, srcColIx); + assertNotNull(mp); confirmPredicate(false, mp, srcColIx); confirmPredicate(false, mp, "abc"); confirmPredicate(true, mp, ErrorEval.DIV_ZERO); @@ -298,6 +298,7 @@ public final class TestCountFuncs { // tricky: indexing outside of A10:A12 // even this #VALUE! error gets used by COUNTIF as valid criteria mp = Countif.createCriteriaPredicate(ev, 12, srcColIx); + assertNotNull(mp); confirmPredicate(false, mp, srcColIx); confirmPredicate(false, mp, "abc"); confirmPredicate(false, mp, ErrorEval.DIV_ZERO); @@ -396,7 +397,7 @@ public final class TestCountFuncs { * and NEQ cases */ @Test - public void testCountifBug51498() throws Exception { + public void testCountifBug51498() { final int REF_COL = 4; final int EVAL_COL = 3; @@ -588,9 +589,6 @@ public final class TestCountFuncs { } } - if (failureCount > 0) { - throw new AssertionFailedError(failureCount + " " + functionName - + " evaluations failed. See stderr for more details"); - } + assertEquals(failureCount + " " + functionName + " evaluations failed.", 0, failureCount); } } 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=1872041&r1=1872040&r2=1872041&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 Fri Dec 27 23:00:13 2019 @@ -19,7 +19,6 @@ package org.apache.poi.ss.formula.functi 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; @@ -50,6 +49,7 @@ public final class TestDate { * Test disabled pending a fix in the formula evaluator * TODO - create MissingArgEval and modify the formula evaluator to handle this */ + @Test @Ignore public void testSomeArgumentsMissing() { confirm("DATE(, 1, 0)", 0.0); @@ -58,7 +58,6 @@ public final class TestDate { @Test public void testValid() { - confirm("DATE(1900, 1, 1)", 1); confirm("DATE(1900, 1, 32)", 32); confirm("DATE(1900, 222, 1)", 6727); @@ -88,9 +87,7 @@ public final class TestDate { cell11.setCellFormula(formulaText); evaluator.clearAllCachedResultValues(); CellValue cv = evaluator.evaluate(cell11); - if (cv.getCellType() != CellType.NUMERIC) { - throw new AssertionFailedError("Wrong result type: " + cv.formatAsString()); - } + assertEquals("Wrong result type", CellType.NUMERIC, cv.getCellType()); double actualValue = cv.getNumberValue(); assertEquals(expectedResult, actualValue, 0); } 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=1872041&r1=1872040&r2=1872041&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 Fri Dec 27 23:00:13 2019 @@ -22,7 +22,6 @@ import static org.junit.Assert.assertTru import java.util.Arrays; -import junit.framework.AssertionFailedError; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.formula.WorkbookEvaluator; @@ -45,8 +44,6 @@ import org.junit.Test; * with minimum overhead.<br> * Another test: {@link TestIndexFunctionFromSpreadsheet} operates from a higher level * and has far greater coverage of input permutations.<br> - * - * @author Josh Micich */ public final class TestIndex { @@ -121,15 +118,8 @@ public final class TestIndex { }; AreaEval arg0 = EvalFactory.createAreaEval("A10:C10", values); ValueEval[] args = new ValueEval[] { arg0, MissingArgEval.instance, new NumberEval(2), }; - ValueEval actualResult; - try { - actualResult = FUNC_INST.evaluate(args, -1, -1); - } catch (RuntimeException e) { - if (e.getMessage().equals("Unexpected arg eval type (org.apache.poi.hssf.record.formula.eval.MissingArgEval")) { - throw new AssertionFailedError("Identified bug 47048b - INDEX() should support missing-arg"); - } - throw e; - } + // Identified bug 47048b - INDEX() should support missing-arg + ValueEval actualResult = FUNC_INST.evaluate(args, -1, -1); // result should be an area eval "B10:B10" AreaEval ae = confirmAreaEval("B10:B10", actualResult); actualResult = ae.getValue(0, 0); 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=1872041&r1=1872040&r2=1872041&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 Fri Dec 27 23:00:13 2019 @@ -19,7 +19,6 @@ package org.apache.poi.ss.formula.functi 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; @@ -32,8 +31,6 @@ import org.junit.Test; /** * Tests for {@link Irr} - * - * @author Marcel May */ public final class TestIrr { @@ -123,10 +120,7 @@ public final class TestIrr { } } - if(failures.length() > 0) { - throw new AssertionFailedError(failureCount + " IRR assertions failed:\n" + failures); - } - + assertEquals("IRR assertions failed", 0, failures.length()); } private static void assertFormulaResult(CellValue cv, HSSFCell cell){ Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMirr.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMirr.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMirr.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestMirr.java Fri Dec 27 23:00:13 2019 @@ -18,8 +18,8 @@ package org.apache.poi.ss.formula.functions; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; -import junit.framework.AssertionFailedError; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator; @@ -42,48 +42,36 @@ import org.junit.Test; public final class TestMirr { @Test - public void testMirr() { + public void testMirr() throws EvaluationException { Mirr mirr = new Mirr(); double mirrValue; double financeRate = 0.12; double reinvestRate = 0.1; double[] values = {-120000d, 39000d, 30000d, 21000d, 37000d, 46000d, reinvestRate, financeRate}; - try { - mirrValue = mirr.evaluate(values); - } catch (EvaluationException e) { - throw new AssertionFailedError("MIRR should not failed with these parameters" + e); - } + // MIRR should not failed with these parameters + mirrValue = mirr.evaluate(values); assertEquals("mirr", 0.126094130366, mirrValue, 0.0000000001); reinvestRate = 0.05; financeRate = 0.08; values = new double[]{-7500d, 3000d, 5000d, 1200d, 4000d, reinvestRate, financeRate}; - try { - mirrValue = mirr.evaluate(values); - } catch (EvaluationException e) { - throw new AssertionFailedError("MIRR should not failed with these parameters" + e); - } + // MIRR should not failed with these parameters + mirrValue = mirr.evaluate(values); assertEquals("mirr", 0.18736225093, mirrValue, 0.0000000001); reinvestRate = 0.065; financeRate = 0.1; values = new double[]{-10000, 3400d, 6500d, 1000d, reinvestRate, financeRate}; - try { - mirrValue = mirr.evaluate(values); - } catch (EvaluationException e) { - throw new AssertionFailedError("MIRR should not failed with these parameters" + e); - } + // MIRR should not failed with these parameters + mirrValue = mirr.evaluate(values); assertEquals("mirr", 0.07039493966, mirrValue, 0.0000000001); reinvestRate = 0.07; financeRate = 0.01; values = new double[]{-10000d, -3400d, -6500d, -1000d, reinvestRate, financeRate}; - try { - mirrValue = mirr.evaluate(values); - } catch (EvaluationException e) { - throw new AssertionFailedError("MIRR should not failed with these parameters" + e); - } + // MIRR should not failed with these parameters + mirrValue = mirr.evaluate(values); assertEquals("mirr", -1, mirrValue, 0.0); } @@ -101,7 +89,7 @@ public final class TestMirr { assertEquals(ErrorEval.DIV_ZERO, e.getErrorEval()); return; } - throw new AssertionFailedError("MIRR should failed with all these positives values"); + fail("MIRR should failed with all these positives values"); } @Test @@ -134,7 +122,6 @@ public final class TestMirr { HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("mirrTest.xls"); HSSFSheet sheet = wb.getSheet("Mirr"); HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb); - StringBuilder failures = new StringBuilder(); int failureCount = 0; int[] resultRows = {9, 19, 29, 45}; @@ -145,9 +132,6 @@ public final class TestMirr { CellValue cv = fe.evaluate(cellA); assertFormulaResult(cv, cellA); } catch (Throwable e) { - if (failures.length() > 0) failures.append('\n'); - failures.append("Row[").append(cellA.getRowIndex() + 1).append("]: ").append(cellA.getCellFormula()).append(" "); - failures.append(e.getMessage()); failureCount++; } } @@ -157,10 +141,7 @@ public final class TestMirr { CellValue cv = fe.evaluate(cellA); assertEquals(ErrorEval.DIV_ZERO.getErrorCode(), cv.getErrorValue()); - if (failures.length() > 0) { - throw new AssertionFailedError(failureCount + " IRR assertions failed:\n" + failures); - } - + assertEquals("IRR assertions failed", 0, failureCount); } private static void assertFormulaResult(CellValue cv, HSSFCell cell) { Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestNpv.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestNpv.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestNpv.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestNpv.java Fri Dec 27 23:00:13 2019 @@ -19,7 +19,6 @@ package org.apache.poi.ss.formula.functi 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; @@ -32,7 +31,6 @@ import org.junit.Test; /** * Tests for {@link Npv} * - * @author Marcel May * @see <a href="http://office.microsoft.com/en-us/excel-help/npv-HP005209199.aspx">Excel Help</a> */ public final class TestNpv { @@ -79,7 +77,6 @@ public final class TestNpv { HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("IrrNpvTestCaseData.xls"); HSSFSheet sheet = wb.getSheet("IRR-NPV"); HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb); - StringBuilder failures = new StringBuilder(); int failureCount = 0; // TODO YK: Formulas in rows 16 and 17 operate with ArrayPtg which isn't yet supported // FormulaEvaluator as of r1041407 throws "Unexpected ptg class (org.apache.poi.ss.formula.ptg.ArrayPtg)" @@ -90,16 +87,11 @@ public final class TestNpv { CellValue cv = fe.evaluate(cellB); assertFormulaResult(cv, cellB); } catch (Throwable e){ - if(failures.length() > 0) failures.append('\n'); - failures.append("Row[" + (cellB.getRowIndex() + 1)+ "]: " + cellB.getCellFormula() + " "); - failures.append(e.getMessage()); failureCount++; } } - if(failures.length() > 0) { - throw new AssertionFailedError(failureCount + " IRR evaluations failed:\n" + failures); - } + assertEquals("IRR evaluations failed", 0, failureCount); } private static void assertFormulaResult(CellValue cv, HSSFCell cell){ Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestStatsLib.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestStatsLib.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestStatsLib.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestStatsLib.java Fri Dec 27 23:00:13 2019 @@ -20,23 +20,21 @@ */ package org.apache.poi.ss.formula.functions; -import junit.framework.AssertionFailedError; +import static org.junit.Assert.assertNotNull; + import org.apache.poi.ss.formula.eval.ErrorEval; import org.apache.poi.ss.formula.eval.EvaluationException; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; -/** - * @author Amol S. Deshmukh < amolweb at ya hoo dot com > - * - */ public class TestStatsLib extends AbstractNumericTestCase { @Test public void testDevsq() { - double[] v = null; - double d, x = 0; + double[] v; + double d, x; v = new double[] {1,2,3,4,5,6,7,8,9,10}; d = StatsLib.devsq(v); @@ -71,8 +69,8 @@ public class TestStatsLib extends Abstra @Test public void testKthLargest() { - double[] v = null; - double d, x = 0; + double[] v; + double d, x; v = new double[] {1,2,3,4,5,6,7,8,9,10}; d = StatsLib.kthLargest(v, 3); @@ -105,13 +103,15 @@ public class TestStatsLib extends Abstra assertEquals("kthLargest ", x, d); } + @Test + @Ignore("... implement ...") public void testKthSmallest() { } @Test public void testAvedev() { - double[] v = null; - double d, x = 0; + double[] v; + double d, x; v = new double[] {1,2,3,4,5,6,7,8,9,10}; d = StatsLib.avedev(v); @@ -146,8 +146,8 @@ public class TestStatsLib extends Abstra @Test public void testMedian() { - double[] v = null; - double d, x = 0; + double[] v; + double d, x; v = new double[] {1,2,3,4,5,6,7,8,9,10}; d = StatsLib.median(v); @@ -193,7 +193,6 @@ public class TestStatsLib extends Abstra @Test public void testMode() { double[] v; - double d, x = 0; v = new double[] {1,2,3,4,5,6,7,8,9,10}; confirmMode(v, null); @@ -228,9 +227,7 @@ public class TestStatsLib extends Abstra double actual; try { actual = Mode.evaluate(v); - if (expectedResult == null) { - throw new AssertionFailedError("Expected N/A exception was not thrown"); - } + assertNotNull("Expected N/A exception was not thrown", expectedResult); } catch (EvaluationException e) { if (expectedResult == null) { Assert.assertEquals(ErrorEval.NA, e.getErrorEval()); @@ -243,8 +240,8 @@ public class TestStatsLib extends Abstra @Test public void testStddev() { - double[] v = null; - double d, x = 0; + double[] v; + double d, x; v = new double[] {1,2,3,4,5,6,7,8,9,10}; d = StatsLib.stdev(v); @@ -279,8 +276,8 @@ public class TestStatsLib extends Abstra @Test public void testVar() { - double[] v = null; - double d, x = 0; + double[] v; + double d, x; v = new double[] {3.50, 5.00, 7.23, 2.99}; d = StatsLib.var(v); @@ -305,8 +302,8 @@ public class TestStatsLib extends Abstra @Test public void testVarp() { - double[] v = null; - double d, x = 0; + double[] v; + double d, x; v = new double[] {3.50, 5.00, 7.23, 2.99}; d = StatsLib.varp(v); Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumif.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumif.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumif.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumif.java Fri Dec 27 23:00:13 2019 @@ -18,8 +18,9 @@ package org.apache.poi.ss.formula.functions; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; -import junit.framework.AssertionFailedError; import org.apache.poi.ss.formula.eval.AreaEval; import org.apache.poi.ss.formula.eval.BlankEval; import org.apache.poi.ss.formula.eval.ErrorEval; @@ -31,8 +32,6 @@ import org.junit.Test; /** * Test cases for SUMPRODUCT() - * - * @author Josh Micich */ public final class TestSumif { private static final NumberEval _30 = new NumberEval(30); @@ -45,9 +44,7 @@ public final class TestSumif { } private static void confirmDouble(double expected, ValueEval actualEval) { - if(!(actualEval instanceof NumericValueEval)) { - throw new AssertionFailedError("Expected numeric result"); - } + assertTrue("Expected numeric result", actualEval instanceof NumericValueEval); NumericValueEval nve = (NumericValueEval)actualEval; assertEquals(expected, nve.getNumberValue(), 0); } @@ -99,9 +96,7 @@ public final class TestSumif { ve = invokeSumif(0, 2, arg0, arg1); // invoking from cell C1 if (ve instanceof NumberEval) { NumberEval ne = (NumberEval) ve; - if (ne.getNumberValue() == 30.0) { - throw new AssertionFailedError("identified error in SUMIF - criteria arg not evaluated properly"); - } + assertNotEquals("identified error in SUMIF - criteria arg not evaluated properly", 30.0, ne.getNumberValue()); } confirmDouble(200, ve); Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumifs.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumifs.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumifs.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestSumifs.java Fri Dec 27 23:00:13 2019 @@ -22,7 +22,6 @@ package org.apache.poi.ss.formula.functi import static org.junit.Assert.assertEquals; 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; @@ -38,27 +37,23 @@ import org.junit.Test; /** * Test cases for SUMIFS() - * - * @author Yegor Kozlov */ public final class TestSumifs { private static final OperationEvaluationContext EC = new OperationEvaluationContext(null, null, 0, 1, 0, null); - private static ValueEval invokeSumifs(ValueEval[] args, OperationEvaluationContext ec) { + private static ValueEval invokeSumifs(ValueEval[] args) { return new Sumifs().evaluate(args, EC); } private static void confirmDouble(double expected, ValueEval actualEval) { - if(!(actualEval instanceof NumericValueEval)) { - throw new AssertionFailedError("Expected numeric result"); - } + assertTrue("Expected numeric result", actualEval instanceof NumericValueEval); NumericValueEval nve = (NumericValueEval)actualEval; assertEquals(expected, nve.getNumberValue(), 0); } private static void confirm(double expectedResult, ValueEval[] args) { - confirmDouble(expectedResult, invokeSumifs(args, EC)); + confirmDouble(expectedResult, invokeSumifs(args)); } /** @@ -140,7 +135,7 @@ public final class TestSumifs { EvalFactory.createAreaEval("C2:C9", c2c9), new NumberEval(1), }; - assertEquals(ErrorEval.VALUE_INVALID, invokeSumifs(args, EC)); + assertEquals(ErrorEval.VALUE_INVALID, invokeSumifs(args)); } @@ -189,6 +184,8 @@ public final class TestSumifs { new StringEval(">0.03"), // 3% in the MSFT example EvalFactory.createAreaEval("B4:E4", b4e4), new StringEval(">=0.02"), // 2% in the MSFT example + EvalFactory.createAreaEval("B5:E5", b5e5), + new StringEval(">=0.01"), // 1% in the MSFT example }; confirm(500.0, args); } @@ -299,7 +296,7 @@ public final class TestSumifs { new StringEval("A*"), }; - ValueEval result = invokeSumifs(args, EC); + ValueEval result = invokeSumifs(args); assertTrue("Expect to have an error when an input is an invalid value, but had: " + result.getClass(), result instanceof ErrorEval); args = new ValueEval[]{ @@ -308,7 +305,7 @@ public final class TestSumifs { ErrorEval.VALUE_INVALID, }; - result = invokeSumifs(args, EC); + result = invokeSumifs(args); assertTrue("Expect to have an error when an input is an invalid value, but had: " + result.getClass(), result instanceof ErrorEval); } @@ -332,7 +329,7 @@ public final class TestSumifs { ErrorEval.VALUE_INVALID }; - ValueEval result = invokeSumifs(args, EC); + ValueEval result = invokeSumifs(args); assertTrue("Expect to have an error when an input is an invalid value, but had: " + result.getClass(), result instanceof ErrorEval); assertEquals(ErrorEval.VALUE_INVALID, result); } @@ -357,7 +354,7 @@ public final class TestSumifs { ErrorEval.NAME_INVALID }; - ValueEval result = invokeSumifs(args, EC); + ValueEval result = invokeSumifs(args); assertTrue("Expect to have an error when an input is an invalid value, but had: " + result.getClass(), result instanceof ErrorEval); assertEquals(ErrorEval.NAME_INVALID, result); } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/AbstractPtgTestCase.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/AbstractPtgTestCase.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/AbstractPtgTestCase.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/AbstractPtgTestCase.java Fri Dec 27 23:00:13 2019 @@ -17,18 +17,14 @@ package org.apache.poi.ss.formula.ptg; -import junit.framework.TestCase; - import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.usermodel.HSSFWorkbook; /** * Convenient abstract class to reduce the amount of boilerplate code needed * in ptg-related unit tests. - * - * @author Daniel Noll (daniel at nuix dot com dot au) */ -public abstract class AbstractPtgTestCase extends TestCase { +public abstract class AbstractPtgTestCase { /** * Loads a workbook from the given filename in the test data dir. Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArea3DPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArea3DPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArea3DPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArea3DPtg.java Fri Dec 27 23:00:13 2019 @@ -17,32 +17,37 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for Area3DPtg - * - * @author Josh Micich */ public final class TestArea3DPtg extends AbstractPtgTestCase { /** * confirms that sheet names get properly escaped */ - public void testToFormulaString() { + @Test + public void testToFormulaString() throws IOException { Area3DPtg target = new Area3DPtg("A1:B1", (short)0); String sheetName = "my sheet"; - HSSFWorkbook wb = createWorkbookWithSheet(sheetName); - HSSFEvaluationWorkbook book = HSSFEvaluationWorkbook.create(wb); - assertEquals("'my sheet'!A1:B1", target.toFormulaString(book)); - - wb.setSheetName(0, "Sheet1"); - assertEquals("Sheet1!A1:B1", target.toFormulaString(book)); - - wb.setSheetName(0, "C64"); - assertEquals("'C64'!A1:B1", target.toFormulaString(book)); + try (HSSFWorkbook wb = createWorkbookWithSheet(sheetName)) { + HSSFEvaluationWorkbook book = HSSFEvaluationWorkbook.create(wb); + assertEquals("'my sheet'!A1:B1", target.toFormulaString(book)); + + wb.setSheetName(0, "Sheet1"); + assertEquals("Sheet1!A1:B1", target.toFormulaString(book)); + + wb.setSheetName(0, "C64"); + assertEquals("'C64'!A1:B1", target.toFormulaString(book)); + } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaErrPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaErrPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaErrPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaErrPtg.java Fri Dec 27 23:00:13 2019 @@ -17,20 +17,25 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for {@link AreaErrPtg}. - * - * @author Daniel Noll (daniel at nuix dot com dot au) */ public final class TestAreaErrPtg extends AbstractPtgTestCase { /** * Tests reading a file containing this ptg. */ - public void testReading() { - HSSFWorkbook workbook = loadWorkbook("AreaErrPtg.xls"); - assertEquals("Wrong formula string for area error", "SUM(#REF!)", - workbook.getSheetAt(0).getRow(0).getCell(2).getCellFormula()); + @Test + public void testReading() throws IOException { + try (HSSFWorkbook workbook = loadWorkbook("AreaErrPtg.xls")) { + assertEquals("Wrong formula string for area error", "SUM(#REF!)", + workbook.getSheetAt(0).getRow(0).getCell(2).getCellFormula()); + } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAreaPtg.java Fri Dec 27 23:00:13 2019 @@ -1,4 +1,4 @@ - + /* ==================================================================== Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -18,25 +18,25 @@ package org.apache.poi.ss.formula.ptg; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; import org.apache.poi.hssf.model.HSSFFormulaParser; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.util.AreaReference; +import org.junit.Before; +import org.junit.Test; /** * Tests for {@link AreaPtg}. - * - * @author Dmitriy Kumshayev */ -public final class TestAreaPtg extends TestCase { +public final class TestAreaPtg { AreaPtg relative; AreaPtg absolute; - - @Override - protected void setUp() { + + @Before + public void setUp() { short firstRow=5; short lastRow=13; short firstCol=7; @@ -44,8 +44,9 @@ public final class TestAreaPtg extends T relative = new AreaPtg(firstRow,lastRow,firstCol,lastCol,true,true,true,true); absolute = new AreaPtg(firstRow,lastRow,firstCol,lastCol,false,false,false,false); } - - public static void testSortTopLeftToBottomRight() { + + @Test + public void testSortTopLeftToBottomRight() { AreaPtg ptg = new AreaPtg(new AreaReference("A$1:$B5", SpreadsheetVersion.EXCEL2007)); assertEquals("A$1:$B5", ptg.toFormulaString()); ptg.setFirstColumn(3); @@ -56,19 +57,19 @@ public final class TestAreaPtg extends T "$B$1:D5", ptg.toFormulaString()); } - public void testSetColumnsAbsolute() - { + @Test + public void testSetColumnsAbsolute() { resetColumns(absolute); validateReference(true, absolute); } - public void testSetColumnsRelative() - { + + @Test + public void testSetColumnsRelative() { resetColumns(relative); validateReference(false, relative); } - private void validateReference(boolean abs, AreaPtg ref) - { + private void validateReference(boolean abs, AreaPtg ref) { assertEquals("First column reference is not "+(abs?"absolute":"relative"),abs,!ref.isFirstColRelative()); assertEquals("Last column reference is not "+(abs?"absolute":"relative"),abs,!ref.isLastColRelative()); assertEquals("First row reference is not "+(abs?"absolute":"relative"),abs,!ref.isFirstRowRelative()); @@ -84,7 +85,8 @@ public final class TestAreaPtg extends T assertEquals(fc , aptg.getFirstColumn() ); assertEquals(lc , aptg.getLastColumn() ); } - + + @Test public void testAbsoluteRelativeRefs() { AreaPtg sca1 = new AreaPtg(4, 5, 6, 7, true, false, true, false); AreaPtg sca2 = new AreaPtg(4, 5, 6, 7, false, true, false, true); @@ -106,27 +108,27 @@ public final class TestAreaPtg extends T assertEquals("first rel., last abs.", "H6:$H$6", cla3.toFormulaString()); assertEquals("first abs., last rel.", "$H$6:H6", cla4.toFormulaString()); } - private AreaPtg cloneArea(AreaPtg a) - { + + private AreaPtg cloneArea(AreaPtg a) { return new AreaPtg( a.getFirstRow(), a.getLastRow(), a.getFirstColumn(), a.getLastColumn(), a.isFirstRowRelative(), a.isLastRowRelative(), a.isFirstColRelative(), a.isLastColRelative() ); } - - public void testFormulaParser() - { + + @Test + public void testFormulaParser() { String formula1="SUM($E$5:$E$6)"; String expectedFormula1="SUM($F$5:$F$6)"; String newFormula1 = shiftAllColumnsBy1(formula1); assertEquals("Absolute references changed", expectedFormula1, newFormula1); - + String formula2="SUM(E5:E6)"; String expectedFormula2="SUM(F5:F6)"; String newFormula2 = shiftAllColumnsBy1(formula2); assertEquals("Relative references changed", expectedFormula2, newFormula2); } - + private static String shiftAllColumnsBy1(String formula) { int letUsShiftColumn1By1Column=1; HSSFWorkbook wb = null; Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArrayPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArrayPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArrayPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestArrayPtg.java Fri Dec 27 23:00:13 2019 @@ -18,20 +18,20 @@ package org.apache.poi.ss.formula.ptg; import static org.junit.Assert.assertArrayEquals; -import junit.framework.AssertionFailedError; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.record.TestcaseRecordInputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.util.LittleEndianByteArrayOutputStream; import org.apache.poi.util.LittleEndianInput; +import org.junit.Test; + /** * Tests for <tt>ArrayPtg</tt> - * - * @author Josh Micich */ -public final class TestArrayPtg extends TestCase { +public final class TestArrayPtg { private static final byte[] ENCODED_PTG_DATA = { 0x40, @@ -56,6 +56,7 @@ public final class TestArrayPtg extends /** * Lots of problems with ArrayPtg's decoding and encoding of the element value data */ + @Test public void testReadWriteTokenValueBytes() { ArrayPtg ptg = create(ENCODED_PTG_DATA, ENCODED_CONSTANT_DATA); assertEquals(3, ptg.getColumnCount()); @@ -73,9 +74,7 @@ public final class TestArrayPtg extends byte[] outBuf = new byte[ENCODED_CONSTANT_DATA.length]; ptg.writeTokenValueBytes(new LittleEndianByteArrayOutputStream(outBuf, 0)); - if(outBuf[0] == 4) { - throw new AssertionFailedError("Identified bug 42564b"); - } + assertNotEquals("Identified bug 42564b", 4, outBuf[0]); assertArrayEquals(ENCODED_CONSTANT_DATA, outBuf); } @@ -83,6 +82,7 @@ public final class TestArrayPtg extends /** * Excel stores array elements column by column. This test makes sure POI does the same. */ + @Test public void testElementOrdering() { ArrayPtg ptg = create(ENCODED_PTG_DATA, ENCODED_CONSTANT_DATA); assertEquals(3, ptg.getColumnCount()); @@ -100,35 +100,29 @@ public final class TestArrayPtg extends * Test for a bug which was temporarily introduced by the fix for bug 42564. * A spreadsheet was added to make the ordering clearer. */ + @Test public void testElementOrderingInSpreadsheet() { HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("ex42564-elementOrder.xls"); // The formula has an array with 3 rows and 5 columns String formula = wb.getSheetAt(0).getRow(0).getCell(0).getCellFormula(); - if (formula.equals("SUM({1,6,11;2,7,12;3,8,13;4,9,14;5,10,15})")) { - throw new AssertionFailedError("Identified bug 42564 b"); - } + assertNotEquals("Identified bug 42564 b", "SUM({1,6,11;2,7,12;3,8,13;4,9,14;5,10,15})", formula); assertEquals("SUM({1,2,3,4,5;6,7,8,9,10;11,12,13,14,15})", formula); } + @Test public void testToFormulaString() { ArrayPtg ptg = create(ENCODED_PTG_DATA, ENCODED_CONSTANT_DATA); - String actualFormula; - try { - actualFormula = ptg.toFormulaString(); - } catch (IllegalArgumentException e) { - if (e.getMessage().equals("Unexpected constant class (java.lang.Boolean)")) { - throw new AssertionFailedError("Identified bug 45380"); - } - throw e; - } + // bug 45380 - Unexpected constant class (java.lang.Boolean) + String actualFormula = ptg.toFormulaString(); assertEquals("{TRUE,\"ABCD\",\"E\";0,FALSE,\"FG\"}", actualFormula); } /** * worth checking since AttrPtg.sid=0x20 and Ptg.CLASS_* = (0x00, 0x20, and 0x40) */ + @Test public void testOperandClassDecoding() { confirmOperandClassDecoding(Ptg.CLASS_REF); confirmOperandClassDecoding(Ptg.CLASS_VALUE); Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAttrPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAttrPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAttrPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestAttrPtg.java Fri Dec 27 23:00:13 2019 @@ -18,32 +18,28 @@ package org.apache.poi.ss.formula.ptg; import static org.junit.Assert.assertArrayEquals; -import junit.framework.AssertionFailedError; import org.apache.poi.hssf.record.TestcaseRecordInputStream; import org.apache.poi.util.HexRead; import org.apache.poi.util.LittleEndianInput; +import org.junit.Test; /** * Tests for {@link AttrPtg}. - * - * @author Josh Micich */ public final class TestAttrPtg extends AbstractPtgTestCase { /** * Fix for bug visible around svn r706772. */ + @Test public void testReserializeAttrChoose() { byte[] data = HexRead.readFromString("19, 04, 03, 00, 08, 00, 11, 00, 1A, 00, 23, 00"); LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(data); Ptg[] ptgs = Ptg.readTokens(data.length, in); byte[] data2 = new byte[data.length]; - try { - Ptg.serializePtgs(ptgs, data2, 0); - } catch (ArrayIndexOutOfBoundsException e) { - throw new AssertionFailedError("incorrect re-serialization of tAttrChoose"); - } + // ArrayIndexOutOfBoundsException -> incorrect re-serialization of tAttrChoose + Ptg.serializePtgs(ptgs, data2, 0); assertArrayEquals(data, data2); } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestErrPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestErrPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestErrPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestErrPtg.java Fri Dec 27 23:00:13 2019 @@ -17,22 +17,27 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for {@link ErrPtg}. - * - * @author Daniel Noll (daniel at nuix dot com dot au) */ public final class TestErrPtg extends AbstractPtgTestCase { /** * Tests reading a file containing this ptg. */ - public void testReading() { - HSSFWorkbook workbook = loadWorkbook("ErrPtg.xls"); - HSSFCell cell = workbook.getSheetAt(0).getRow(3).getCell(0); - assertEquals("Wrong cell value", 4.0, cell.getNumericCellValue(), 0.0); - assertEquals("Wrong cell formula", "ERROR.TYPE(#REF!)", cell.getCellFormula()); + @Test + public void testReading() throws IOException { + try (HSSFWorkbook workbook = loadWorkbook("ErrPtg.xls")) { + HSSFCell cell = workbook.getSheetAt(0).getRow(3).getCell(0); + assertEquals("Wrong cell value", 4.0, cell.getNumericCellValue(), 0.0); + assertEquals("Wrong cell formula", "ERROR.TYPE(#REF!)", cell.getCellFormula()); + } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestExternalNameReference.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestExternalNameReference.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestExternalNameReference.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestExternalNameReference.java Fri Dec 27 23:00:13 2019 @@ -18,70 +18,87 @@ package org.apache.poi.ss.formula.ptg; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; 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.HSSFName; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.util.CellReference; +import org.junit.Test; + /** * Tests for proper calculation of named ranges from external workbooks. - * - * - * @author Stephen Wolke (smwolke at geistig.com) */ -public final class TestExternalNameReference extends TestCase { - double MARKUP_COST = 1.9d; +public final class TestExternalNameReference { double MARKUP_COST_1 = 1.8d; double MARKUP_COST_2 = 1.5d; double PART_COST = 12.3d; double NEW_QUANT = 7.0d; double NEW_PART_COST = 15.3d; /** - * tests <tt>NameXPtg for external cell reference by name</tt> and logic in Workbook below that + * tests <tt>NameXPtg for external cell reference by name</tt> and logic in Workbook below that */ + @Test public void testReadCalcSheet() { - try{ HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("XRefCalc.xls"); - assertEquals("Sheet1!$A$2", wb.getName("QUANT").getRefersToFormula()); - assertEquals("Sheet1!$B$2", wb.getName("PART").getRefersToFormula()); + HSSFName name = wb.getName("QUANT"); + assertNotNull(name); + assertEquals("Sheet1!$A$2", name.getRefersToFormula()); + name = wb.getName("PART"); + assertNotNull(name); + assertEquals("Sheet1!$B$2", name.getRefersToFormula()); assertEquals("x123",wb.getSheet("Sheet1").getRow(1).getCell(1).getStringCellValue()); - assertEquals("Sheet1!$C$2", wb.getName("UNITCOST").getRefersToFormula()); - CellReference cellRef = new CellReference(wb.getName("UNITCOST").getRefersToFormula()); + name = wb.getName("UNITCOST"); + assertNotNull(name); + assertEquals("Sheet1!$C$2", name.getRefersToFormula()); + name = wb.getName("UNITCOST"); + assertNotNull(name); + CellReference cellRef = new CellReference(name.getRefersToFormula()); HSSFCell cell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell(cellRef.getCol()); assertEquals("VLOOKUP(PART,COSTS,2,FALSE)",cell.getCellFormula()); - assertEquals("Sheet1!$D$2", wb.getName("COST").getRefersToFormula()); - cellRef = new CellReference(wb.getName("COST").getRefersToFormula()); + name = wb.getName("COST"); + assertNotNull(name); + assertEquals("Sheet1!$D$2", name.getRefersToFormula()); + name = wb.getName("COST"); + assertNotNull(name); + cellRef = new CellReference(name.getRefersToFormula()); cell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell(cellRef.getCol()); assertEquals("UNITCOST*Quant",cell.getCellFormula()); - assertEquals("Sheet1!$E$2", wb.getName("TOTALCOST").getRefersToFormula()); - cellRef = new CellReference(wb.getName("TOTALCOST").getRefersToFormula()); + name = wb.getName("TOTALCOST"); + assertNotNull(name); + assertEquals("Sheet1!$E$2", name.getRefersToFormula()); + name = wb.getName("TOTALCOST"); + assertNotNull(name); + cellRef = new CellReference(name.getRefersToFormula()); cell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell(cellRef.getCol()); assertEquals("Cost*Markup_Cost",cell.getCellFormula()); - }catch(Exception e){ - fail(); - } } - + + @Test public void testReadReferencedSheet() { - try{ HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("XRefCalcData.xls"); - assertEquals("CostSheet!$A$2:$B$3", wb.getName("COSTS").getRefersToFormula()); + HSSFName name = wb.getName("COSTS"); + assertNotNull(name); + assertEquals("CostSheet!$A$2:$B$3", name.getRefersToFormula()); assertEquals("x123",wb.getSheet("CostSheet").getRow(1).getCell(0).getStringCellValue()); - assertEquals(PART_COST,wb.getSheet("CostSheet").getRow(1).getCell(1).getNumericCellValue()); - assertEquals("MarkupSheet!$B$1", wb.getName("Markup_Cost").getRefersToFormula()); - assertEquals(MARKUP_COST_1,wb.getSheet("MarkupSheet").getRow(0).getCell(1).getNumericCellValue()); - }catch(Exception e){ - fail(); - } + assertEquals(PART_COST,wb.getSheet("CostSheet").getRow(1).getCell(1).getNumericCellValue(), 0); + name = wb.getName("Markup_Cost"); + assertNotNull(name); + assertEquals("MarkupSheet!$B$1", name.getRefersToFormula()); + assertEquals(MARKUP_COST_1,wb.getSheet("MarkupSheet").getRow(0).getCell(1).getNumericCellValue(), 0); } - - public void testEvaluate() throws Exception { + + @Test + public void testEvaluate() { HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("XRefCalc.xls"); HSSFWorkbook wb2 = HSSFTestDataSamples.openSampleWorkbook("XRefCalcData.xls"); - CellReference cellRef = new CellReference(wb.getName("QUANT").getRefersToFormula()); - HSSFCell cell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell((int)cellRef.getCol()); + HSSFName name = wb.getName("QUANT"); + assertNotNull(name); + CellReference cellRef = new CellReference(name.getRefersToFormula()); + HSSFCell cell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell(cellRef.getCol()); cell.setCellValue(NEW_QUANT); cell = wb2.getSheet("CostSheet").getRow(1).getCell(1); cell.setCellValue(NEW_PART_COST); @@ -90,17 +107,23 @@ public final class TestExternalNameRefer String[] bookNames = { "XRefCalc.xls", "XRefCalcData.xls" }; HSSFFormulaEvaluator[] evaluators = { evaluator, evaluatorCost, }; HSSFFormulaEvaluator.setupEnvironment(bookNames, evaluators); - cellRef = new CellReference(wb.getName("UNITCOST").getRefersToFormula()); + name = wb.getName("UNITCOST"); + assertNotNull(name); + cellRef = new CellReference(name.getRefersToFormula()); HSSFCell uccell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell(cellRef.getCol()); - cellRef = new CellReference(wb.getName("COST").getRefersToFormula()); + name = wb.getName("COST"); + assertNotNull(name); + cellRef = new CellReference(name.getRefersToFormula()); HSSFCell ccell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell(cellRef.getCol()); - cellRef = new CellReference(wb.getName("TOTALCOST").getRefersToFormula()); + name = wb.getName("TOTALCOST"); + assertNotNull(name); + cellRef = new CellReference(name.getRefersToFormula()); HSSFCell tccell = wb.getSheet(cellRef.getSheetName()).getRow(cellRef.getRow()).getCell(cellRef.getCol()); evaluator.evaluateFormulaCell(uccell); evaluator.evaluateFormulaCell(ccell); evaluator.evaluateFormulaCell(tccell); - assertEquals(NEW_PART_COST, uccell.getNumericCellValue()); - assertEquals(NEW_PART_COST*NEW_QUANT, ccell.getNumericCellValue()); - assertEquals(NEW_PART_COST*NEW_QUANT*MARKUP_COST_2, tccell.getNumericCellValue()); + assertEquals(NEW_PART_COST, uccell.getNumericCellValue(), 0); + assertEquals(NEW_PART_COST*NEW_QUANT, ccell.getNumericCellValue(), 0); + assertEquals(NEW_PART_COST*NEW_QUANT*MARKUP_COST_2, tccell.getNumericCellValue(), 0); } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncPtg.java Fri Dec 27 23:00:13 2019 @@ -17,16 +17,17 @@ package org.apache.poi.ss.formula.ptg; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; + import org.apache.poi.hssf.record.TestcaseRecordInputStream; +import org.junit.Test; /** * Make sure the FuncPtg performs as expected - * - * @author Danny Mui (dmui at apache dot org) */ -public final class TestFuncPtg extends TestCase { +public final class TestFuncPtg { + @Test public void testRead() { // This function index represents the LEN() function byte[] fakeData = { 0x20, 0x00,}; @@ -38,6 +39,7 @@ public final class TestFuncPtg extends T assertEquals( "Ptg Size", 3, ptg.getSize() ); } + @Test public void testNumberOfOperands() { FuncPtg funcPtg = FuncPtg.create(27); // ROUND() - takes 2 args assertEquals(2, funcPtg.getNumberOfOperands()); Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncVarPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncVarPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncVarPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestFuncVarPtg.java Fri Dec 27 23:00:13 2019 @@ -17,15 +17,17 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + import org.apache.poi.hssf.model.HSSFFormulaParser; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; -import junit.framework.AssertionFailedError; -import junit.framework.TestCase; /** * @author Josh Micich */ -public final class TestFuncVarPtg extends TestCase { +public final class TestFuncVarPtg { /** * The first fix for bugzilla 44675 broke the encoding of SUM formulas (and probably others). @@ -34,20 +36,23 @@ public final class TestFuncVarPtg extend * wrong. In other cases Excel seems to tolerate bad operand classes.</p> * This functionality is related to the setParameterRVA() methods of <tt>FormulaParser</tt> */ + @Test public void testOperandClass() { HSSFWorkbook book = new HSSFWorkbook(); Ptg[] ptgs = HSSFFormulaParser.parse("sum(A1:A2)", book); assertEquals(2, ptgs.length); assertEquals(AreaPtg.class, ptgs[0].getClass()); - + switch(ptgs[0].getPtgClass()) { case Ptg.CLASS_REF: // correct behaviour break; case Ptg.CLASS_VALUE: - throw new AssertionFailedError("Identified bug 44675b"); + fail("Identified bug 44675b"); + break; default: - throw new RuntimeException("Unexpected operand class"); + fail("Unexpected operand class"); + break; } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestIntersectionPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestIntersectionPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestIntersectionPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestIntersectionPtg.java Fri Dec 27 23:00:13 2019 @@ -17,22 +17,27 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for {@link IntersectionPtg}. - * - * @author Daniel Noll (daniel at nuix dot com dot au) */ public final class TestIntersectionPtg extends AbstractPtgTestCase { /** * Tests reading a file containing this ptg. */ - public void testReading() { - HSSFWorkbook workbook = loadWorkbook("IntersectionPtg.xls"); - HSSFCell cell = workbook.getSheetAt(0).getRow(4).getCell(2); - assertEquals("Wrong cell value", 5.0, cell.getNumericCellValue(), 0.0); - assertEquals("Wrong cell formula", "SUM(A1:B2 B2:C3)", cell.getCellFormula()); + @Test + public void testReading() throws IOException { + try (HSSFWorkbook workbook = loadWorkbook("IntersectionPtg.xls")) { + HSSFCell cell = workbook.getSheetAt(0).getRow(4).getCell(2); + assertEquals("Wrong cell value", 5.0, cell.getNumericCellValue(), 0.0); + assertEquals("Wrong cell formula", "SUM(A1:B2 B2:C3)", cell.getCellFormula()); + } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestPercentPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestPercentPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestPercentPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestPercentPtg.java Fri Dec 27 23:00:13 2019 @@ -17,27 +17,32 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for {@link PercentPtg}. - * - * @author Daniel Noll (daniel at nuix dot com dot au) */ public final class TestPercentPtg extends AbstractPtgTestCase { /** * Tests reading a file containing this ptg. */ - public void testReading() { - HSSFWorkbook workbook = loadWorkbook("PercentPtg.xls"); - HSSFSheet sheet = workbook.getSheetAt(0); - - assertEquals("Wrong numeric value for original number", 53000.0, - sheet.getRow(0).getCell(0).getNumericCellValue(), 0.0); - assertEquals("Wrong numeric value for percent formula result", 5300.0, - sheet.getRow(1).getCell(0).getNumericCellValue(), 0.0); - assertEquals("Wrong formula string for percent formula", "A1*10%", - sheet.getRow(1).getCell(0).getCellFormula()); + @Test + public void testReading() throws IOException { + try (HSSFWorkbook workbook = loadWorkbook("PercentPtg.xls")) { + HSSFSheet sheet = workbook.getSheetAt(0); + + assertEquals("Wrong numeric value for original number", 53000.0, + sheet.getRow(0).getCell(0).getNumericCellValue(), 0.0); + assertEquals("Wrong numeric value for percent formula result", 5300.0, + sheet.getRow(1).getCell(0).getNumericCellValue(), 0.0); + assertEquals("Wrong formula string for percent formula", "A1*10%", + sheet.getRow(1).getCell(0).getCellFormula()); + } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRangePtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRangePtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRangePtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRangePtg.java Fri Dec 27 23:00:13 2019 @@ -17,22 +17,27 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for {@link RangePtg}. - * - * @author Daniel Noll (daniel at nuix dot com dot au) */ public final class TestRangePtg extends AbstractPtgTestCase { /** * Tests reading a file containing this ptg. */ - public void testReading() { - HSSFWorkbook workbook = loadWorkbook("RangePtg.xls"); - HSSFCell cell = workbook.getSheetAt(0).getRow(3).getCell(1); - assertEquals("Wrong cell value", 10.0, cell.getNumericCellValue(), 0.0); - assertEquals("Wrong cell formula", "SUM(pineapple:B2)", cell.getCellFormula()); + @Test + public void testReading() throws IOException { + try (HSSFWorkbook workbook = loadWorkbook("RangePtg.xls")) { + HSSFCell cell = workbook.getSheetAt(0).getRow(3).getCell(1); + assertEquals("Wrong cell value", 10.0, cell.getNumericCellValue(), 0.0); + assertEquals("Wrong cell formula", "SUM(pineapple:B2)", cell.getCellFormula()); + } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRef3DPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRef3DPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRef3DPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestRef3DPtg.java Fri Dec 27 23:00:13 2019 @@ -17,28 +17,32 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for Ref3DPtg - * - * @author Josh Micich */ public final class TestRef3DPtg extends AbstractPtgTestCase { - - public void testToFormulaString() { + @Test + public void testToFormulaString() throws IOException { Ref3DPtg target = new Ref3DPtg("A1", (short)0); - HSSFWorkbook wb = createWorkbookWithSheet("my sheet"); - HSSFEvaluationWorkbook book = HSSFEvaluationWorkbook.create(wb); - assertEquals("'my sheet'!A1", target.toFormulaString(book)); - - wb.setSheetName(0, "ProfitAndLoss"); - assertEquals("ProfitAndLoss!A1", target.toFormulaString(book)); - - wb.setSheetName(0, "profit+loss"); - assertEquals("'profit+loss'!A1", target.toFormulaString(book)); + try (HSSFWorkbook wb = createWorkbookWithSheet("my sheet")) { + HSSFEvaluationWorkbook book = HSSFEvaluationWorkbook.create(wb); + assertEquals("'my sheet'!A1", target.toFormulaString(book)); + + wb.setSheetName(0, "ProfitAndLoss"); + assertEquals("ProfitAndLoss!A1", target.toFormulaString(book)); + + wb.setSheetName(0, "profit+loss"); + assertEquals("'profit+loss'!A1", target.toFormulaString(book)); + } } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestReferencePtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestReferencePtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestReferencePtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestReferencePtg.java Fri Dec 27 23:00:13 2019 @@ -18,22 +18,26 @@ package org.apache.poi.ss.formula.ptg; import static org.junit.Assert.assertArrayEquals; -import junit.framework.AssertionFailedError; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; + +import java.io.IOException; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.record.TestcaseRecordInputStream; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.util.LittleEndianInput; +import org.junit.Test; /** * Tests for {@link RefPtg}. */ -public final class TestReferencePtg extends TestCase { +public final class TestReferencePtg { /** * Tests reading a file containing this ptg. */ + @Test public void testReading() { HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("ReferencePtg.xls"); HSSFSheet sheet = workbook.getSheetAt(0); @@ -45,7 +49,7 @@ public final class TestReferencePtg exte sheet.getRow(0).getCell(1).getNumericCellValue(), 0.0); assertEquals("Wrong formula string for reference", "A1", sheet.getRow(0).getCell(1).getCellFormula()); - + // Now moving over the 2**15 boundary // (Remember that excel row (n) is poi row (n-1) assertEquals("Wrong numeric value for original number", 32767.0, @@ -54,21 +58,21 @@ public final class TestReferencePtg exte sheet.getRow(32766).getCell(1).getNumericCellValue(), 0.0); assertEquals("Wrong formula string for reference", "A32767", sheet.getRow(32766).getCell(1).getCellFormula()); - + assertEquals("Wrong numeric value for original number", 32768.0, sheet.getRow(32767).getCell(0).getNumericCellValue(), 0.0); assertEquals("Wrong numeric value for referemce", 32768.0, sheet.getRow(32767).getCell(1).getNumericCellValue(), 0.0); assertEquals("Wrong formula string for reference", "A32768", sheet.getRow(32767).getCell(1).getCellFormula()); - + assertEquals("Wrong numeric value for original number", 32769.0, sheet.getRow(32768).getCell(0).getNumericCellValue(), 0.0); assertEquals("Wrong numeric value for referemce", 32769.0, sheet.getRow(32768).getCell(1).getNumericCellValue(), 0.0); assertEquals("Wrong formula string for reference", "A32769", sheet.getRow(32768).getCell(1).getCellFormula()); - + assertEquals("Wrong numeric value for original number", 32770.0, sheet.getRow(32769).getCell(0).getNumericCellValue(), 0.0); assertEquals("Wrong numeric value for referemce", 32770.0, @@ -76,30 +80,25 @@ public final class TestReferencePtg exte assertEquals("Wrong formula string for reference", "A32770", sheet.getRow(32769).getCell(1).getCellFormula()); } - - public void testBug44921() { - HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("ex44921-21902.xls"); - - try { - HSSFTestDataSamples.writeOutAndReadBack(wb); - } catch (RuntimeException e) { - if(e.getMessage().equals("Coding Error: This method should never be called. This ptg should be converted")) { - throw new AssertionFailedError("Identified bug 44921"); - } - throw e; + + @Test + public void testBug44921() throws IOException { + try (HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("ex44921-21902.xls")) { + HSSFTestDataSamples.writeOutAndReadBack(wb).close(); } } + private static final byte[] tRefN_data = { 0x2C, 33, 44, 55, 66, }; + + @Test public void testReadWrite_tRefN_bug45091() { LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(tRefN_data); Ptg[] ptgs = Ptg.readTokens(tRefN_data.length, in); byte[] outData = new byte[5]; Ptg.serializePtgs(ptgs, outData, 0); - if (outData[0] == 0x24) { - throw new AssertionFailedError("Identified bug 45091"); - } + assertNotEquals("Identified bug 45091", 0x24, outData[0]); assertArrayEquals(tRefN_data, outData); } @@ -107,6 +106,7 @@ public final class TestReferencePtg exte * test that RefPtgBase can handle references with column index greater than 255, * see Bugzilla 50096 */ + @Test public void testColumnGreater255() { RefPtgBase ptg; ptg = new RefPtg("IW1"); Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestUnionPtg.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestUnionPtg.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestUnionPtg.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/formula/ptg/TestUnionPtg.java Fri Dec 27 23:00:13 2019 @@ -17,22 +17,27 @@ package org.apache.poi.ss.formula.ptg; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.junit.Test; /** * Tests for {@link UnionPtg}. - * - * @author Daniel Noll (daniel at nuix dot com dot au) */ public final class TestUnionPtg extends AbstractPtgTestCase { /** * Tests reading a file containing this ptg. */ - public void testReading() { - HSSFWorkbook workbook = loadWorkbook("UnionPtg.xls"); - HSSFCell cell = workbook.getSheetAt(0).getRow(4).getCell(2); - assertEquals("Wrong cell value", 24.0, cell.getNumericCellValue(), 0.0); - assertEquals("Wrong cell formula", "SUM(A1:B2,B2:C3)", cell.getCellFormula()); + @Test + public void testReading() throws IOException { + try (HSSFWorkbook workbook = loadWorkbook("UnionPtg.xls")) { + HSSFCell cell = workbook.getSheetAt(0).getRow(4).getCell(2); + assertEquals("Wrong cell value", 24.0, cell.getNumericCellValue(), 0.0); + assertEquals("Wrong cell formula", "SUM(A1:B2,B2:C3)", cell.getCellFormula()); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org