LANG-1252: adding test for deprecated isNumber
Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/a2660687 Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/a2660687 Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/a2660687 Branch: refs/heads/master Commit: a2660687980b36003a612eb89b40d6fdecb4b153 Parents: 71d9e00 Author: Rob Tompkins <[email protected]> Authored: Sun Sep 11 10:51:29 2016 -0400 Committer: Rob Tompkins <[email protected]> Committed: Sun Sep 11 10:51:29 2016 -0400 ---------------------------------------------------------------------- .../commons/lang3/math/NumberUtilsTest.java | 67 ++++++++++++++++++++ 1 file changed, 67 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-lang/blob/a2660687/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java index 5a5814c..ab8b11d 100644 --- a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java @@ -1316,6 +1316,73 @@ public class NumberUtilsTest { } fail("Expecting "+ expected + " for isCreatable/createNumber using \"" + val + "\" but got " + isValid + " and " + canCreate); } + + /** + * Tests isCreatable(String) and tests that createNumber(String) returns + * a valid number iff isCreatable(String) returns false. + */ + @Test + public void testIsNumber() { + compareIsNumberWithCreateNumber("12345", true); + compareIsNumberWithCreateNumber("1234.5", true); + compareIsNumberWithCreateNumber(".12345", true); + compareIsNumberWithCreateNumber("1234E5", true); + compareIsNumberWithCreateNumber("1234E+5", true); + compareIsNumberWithCreateNumber("1234E-5", true); + compareIsNumberWithCreateNumber("123.4E5", true); + compareIsNumberWithCreateNumber("-1234", true); + compareIsNumberWithCreateNumber("-1234.5", true); + compareIsNumberWithCreateNumber("-.12345", true); + compareIsNumberWithCreateNumber("-1234E5", true); + compareIsNumberWithCreateNumber("0", true); + compareIsNumberWithCreateNumber("-0", true); + compareIsNumberWithCreateNumber("01234", true); + compareIsNumberWithCreateNumber("-01234", true); + compareIsNumberWithCreateNumber("-0xABC123", true); + compareIsNumberWithCreateNumber("-0x0", true); + compareIsNumberWithCreateNumber("123.4E21D", true); + compareIsNumberWithCreateNumber("-221.23F", true); + compareIsNumberWithCreateNumber("22338L", true); + + compareIsNumberWithCreateNumber(null, false); + compareIsNumberWithCreateNumber("", false); + compareIsNumberWithCreateNumber(" ", false); + compareIsNumberWithCreateNumber("\r\n\t", false); + compareIsNumberWithCreateNumber("--2.3", false); + compareIsNumberWithCreateNumber(".12.3", false); + compareIsNumberWithCreateNumber("-123E", false); + compareIsNumberWithCreateNumber("-123E+-212", false); + compareIsNumberWithCreateNumber("-123E2.12", false); + compareIsNumberWithCreateNumber("0xGF", false); + compareIsNumberWithCreateNumber("0xFAE-1", false); + compareIsNumberWithCreateNumber(".", false); + compareIsNumberWithCreateNumber("-0ABC123", false); + compareIsNumberWithCreateNumber("123.4E-D", false); + compareIsNumberWithCreateNumber("123.4ED", false); + compareIsNumberWithCreateNumber("1234E5l", false); + compareIsNumberWithCreateNumber("11a", false); + compareIsNumberWithCreateNumber("1a", false); + compareIsNumberWithCreateNumber("a", false); + compareIsNumberWithCreateNumber("11g", false); + compareIsNumberWithCreateNumber("11z", false); + compareIsNumberWithCreateNumber("11def", false); + compareIsNumberWithCreateNumber("11d11", false); + compareIsNumberWithCreateNumber("11 11", false); + compareIsNumberWithCreateNumber(" 1111", false); + compareIsNumberWithCreateNumber("1111 ", false); + + compareIsNumberWithCreateNumber("2.", true); // LANG-521 + compareIsNumberWithCreateNumber("1.1L", false); // LANG-664 + } + + private void compareIsNumberWithCreateNumber(final String val, final boolean expected) { + final boolean isValid = NumberUtils.isNumber(val); + final boolean canCreate = checkCreateNumber(val); + if (isValid == expected && canCreate == expected) { + return; + } + fail("Expecting "+ expected + " for isCreatable/createNumber using \"" + val + "\" but got " + isValid + " and " + canCreate); + } @Test public void testIsParsable() {
