]> source.dussan.org Git - poi.git/commitdiff
Minor improvements to error reporting in TestIndexFunctionFromSpreadsheet
authorJosh Micich <josh@apache.org>
Thu, 17 Dec 2009 01:31:29 +0000 (01:31 +0000)
committerJosh Micich <josh@apache.org>
Thu, 17 Dec 2009 01:31:29 +0000 (01:31 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@891512 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/hssf/record/formula/functions/TestIndexFunctionFromSpreadsheet.java

index e40578033dc552a41a0c7ae36d17d96ab7504433..ffd841f8232e90df0f841c98365255490b4f8d2a 100644 (file)
@@ -92,7 +92,7 @@ public final class TestIndexFunctionFromSpreadsheet extends TestCase {
                        case HSSFCell.CELL_TYPE_FORMULA: // will never be used, since we will call method after formula evaluation
                                throw new AssertionFailedError("Cannot expect formula as result of formula evaluation: " + msg);
                        case HSSFCell.CELL_TYPE_NUMERIC:
-                               assertEquals(expected.getNumericCellValue(), actual.getNumberValue(), 0.0);
+                               assertEquals(msg, expected.getNumericCellValue(), actual.getNumberValue(), 0.0);
                                break;
                        case HSSFCell.CELL_TYPE_STRING:
                                assertEquals(msg, expected.getRichStringCellValue().getString(), actual.getStringValue());
@@ -181,11 +181,11 @@ public final class TestIndexFunctionFromSpreadsheet extends TestCase {
                        if (c == null || c.getCellType() != HSSFCell.CELL_TYPE_FORMULA) {
                                continue;
                        }
-                       CellValue actualValue = evaluator.evaluate(c);
                        HSSFCell expectedValueCell = r.getCell(SS.COLUMN_INDEX_EXPECTED_RESULT);
 
                        String msgPrefix = formatTestCaseDetails(sheetName, r.getRowNum(), c);
                        try {
+                               CellValue actualValue = evaluator.evaluate(c);
                                confirmExpectedResult(msgPrefix, expectedValueCell, actualValue);
                                _evaluationSuccessCount ++;
                                if(result != Result.SOME_EVALUATIONS_FAILED) {
@@ -193,14 +193,13 @@ public final class TestIndexFunctionFromSpreadsheet extends TestCase {
                                }
                        } catch (RuntimeException e) {
                                _evaluationFailureCount ++;
-                               printShortStackTrace(System.err, e);
+                               printShortStackTrace(System.err, e, msgPrefix);
                                result = Result.SOME_EVALUATIONS_FAILED;
                        } catch (AssertionFailedError e) {
                                _evaluationFailureCount ++;
-                               printShortStackTrace(System.err, e);
+                               printShortStackTrace(System.err, e, msgPrefix);
                                result = Result.SOME_EVALUATIONS_FAILED;
                        }
-
                }
        }
 
@@ -210,14 +209,15 @@ public final class TestIndexFunctionFromSpreadsheet extends TestCase {
                StringBuffer sb = new StringBuffer();
                CellReference cr = new CellReference(sheetName, rowIndex, c.getColumnIndex(), false, false);
                sb.append(cr.formatAsString());
-               sb.append(" {=").append(c.getCellFormula()).append("}");
+               sb.append(" [formula: ").append(c.getCellFormula()).append(" ]");
                return sb.toString();
        }
 
        /**
         * Useful to keep output concise when expecting many failures to be reported by this test case
         */
-       private static void printShortStackTrace(PrintStream ps, Throwable e) {
+       private static void printShortStackTrace(PrintStream ps, Throwable e, String msgPrefix) {
+               System.err.println("Problem with " + msgPrefix);
                StackTraceElement[] stes = e.getStackTrace();
 
                int startIx = 0;