diff options
-rw-r--r-- | src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java | 41 |
1 files changed, 32 insertions, 9 deletions
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 975627053..0748e05fb 100644 --- a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java @@ -114,6 +114,22 @@ public class NumberUtilsTest extends AbstractLangTest { return NumberUtils.isParsable(s); } + private boolean isLongParsable(final String s) { + final NumberFormat instance = NumberFormat.getInstance(); + instance.setParseIntegerOnly(false); + try { + instance.parse(s); + } catch (final ParseException e) { + return false; + } + try { + Long.parseLong(s); + } catch (final NumberFormatException e) { + return false; + } + return NumberUtils.isParsable(s); + } + /** * Test for {@link NumberUtils#toDouble(BigDecimal)} */ @@ -826,6 +842,22 @@ public class NumberUtilsTest extends AbstractLangTest { assertFalse(NumberUtils.isDigits("abc"), "isDigits(String) neg 4 failed"); } + @Test + public void testIsIntParsableLang1729() { + assertTrue(isIntParsable("1")); + assertFalse(isIntParsable("1 2 3")); + assertTrue(isIntParsable("123")); + assertFalse(isIntParsable("1 2 3")); + } + + @Test + public void testIsLongParsableLang1729() { + assertTrue(isLongParsable("1")); + assertFalse(isLongParsable("1 2 3")); + assertTrue(isLongParsable("123")); + assertFalse(isLongParsable("1 2 3")); + } + /** * Tests isCreatable(String) and tests that createNumber(String) returns a valid number iff isCreatable(String) * returns false. @@ -958,15 +990,6 @@ public class NumberUtilsTest extends AbstractLangTest { } @Test - @Disabled("Passes on OpenJDK 64-Bit Server VM (build 23-ea+18-1469, mixed mode, sharing)") - public void testIsParsableLang1729() { - assertTrue(isIntParsable("1")); - assertFalse(isIntParsable("1 2 3")); - assertTrue(isIntParsable("123")); - assertFalse(isIntParsable("1 2 3")); - } - - @Test public void testLang1087() { // no sign cases assertEquals(Float.class, NumberUtils.createNumber("0.0").getClass()); |