Browse Source

fill out remaining tests for FormatNumber

git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@1219 f203690c-595d-4dc9-a70b-905162fa7fd2
tags/jackcess-2.2.1
James Ahlborn 5 years ago
parent
commit
fedeb0bc35

+ 5
- 2
src/main/java/com/healthmarketscience/jackcess/impl/expr/DefaultFunctions.java View File

@@ -310,9 +310,12 @@ public class DefaultFunctions
}

if(negParens) {
fmt.append(";(#)");
// the javadocs claim the second pattern does not need to be fully
// defined, but it doesn't seem to work that way
String mainPat = fmt.toString();
fmt.append(";(").append(mainPat).append(")");
}

// Note, DecimalFormat rounding mode uses HALF_EVEN by default
DecimalFormat df = new DecimalFormat(
fmt.toString(), cfg.getDecimalFormatSymbols());

+ 13
- 0
src/test/java/com/healthmarketscience/jackcess/impl/expr/DefaultFunctionsTest.java View File

@@ -225,12 +225,24 @@ public class DefaultFunctionsTest extends TestCase
assertEval("12,345.00", "=FormatNumber(12345)");
assertEval("0.12", "=FormatNumber(0.12345)");
assertEval("12.34", "=FormatNumber(12.345)");
assertEval("-12,345.00", "=FormatNumber(-12345)");
assertEval("-0.12", "=FormatNumber(-0.12345)");
assertEval("-12.34", "=FormatNumber(-12.345)");
assertEval("12,345.000", "=FormatNumber(12345,3)");
assertEval("0.123", "=FormatNumber(0.12345,3)");
assertEval("12.345", "=FormatNumber(12.345,3)");
assertEval("12,345", "=FormatNumber(12345,0)");
assertEval("0", "=FormatNumber(0.12345,0)");
assertEval("12", "=FormatNumber(12.345,0)");
assertEval("0.123", "=FormatNumber(0.12345,3,True)");
assertEval(".123", "=FormatNumber(0.12345,3,False)");
assertEval("-0.123", "=FormatNumber(-0.12345,3,True)");
assertEval("-.123", "=FormatNumber(-0.12345,3,False)");
assertEval("-12.34", "=FormatNumber(-12.345,-1,True,False)");
assertEval("(12.34)", "=FormatNumber(-12.345,-1,True,True)");
assertEval("(12)", "=FormatNumber(-12.345,0,True,True)");
assertEval("12,345.00", "=FormatNumber(12345,-1,-2,-2,True)");
assertEval("12345.00", "=FormatNumber(12345,-1,-2,-2,False)");
}

public void testNumberFuncs() throws Exception
@@ -508,6 +520,7 @@ public class DefaultFunctionsTest extends TestCase
try {
assertEquals(expected, eval(exprStr));
} catch(Error e) {
// Convenience for adding new tests
// System.err.println("[ERROR] " + e);
throw e;
}

Loading…
Cancel
Save