This is an automated email from the ASF dual-hosted git repository.
garydgregory pushed a commit to branch 1.X
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git
The following commit(s) were added to refs/heads/1.X by this push:
new bf0b19ea Fix failed conversion in DoubleLocaleConverter when input is
non-Double Number (1.X) (#424).
bf0b19ea is described below
commit bf0b19ea15a3cbfdcffb615d28bf6b0d80d16782
Author: Gary Gregory <[email protected]>
AuthorDate: Tue Jul 21 08:49:46 2026 -0700
Fix failed conversion in DoubleLocaleConverter when input is non-Double
Number (1.X) (#424).
- Reduce vertical whitespace
- Sort members
---
.../converters/DoubleLocaleConverterTest.java | 88 +++++-----------------
1 file changed, 17 insertions(+), 71 deletions(-)
diff --git
a/src/test/java/org/apache/commons/beanutils/locale/converters/DoubleLocaleConverterTest.java
b/src/test/java/org/apache/commons/beanutils/locale/converters/DoubleLocaleConverterTest.java
index 1c2e86cb..3800321a 100644
---
a/src/test/java/org/apache/commons/beanutils/locale/converters/DoubleLocaleConverterTest.java
+++
b/src/test/java/org/apache/commons/beanutils/locale/converters/DoubleLocaleConverterTest.java
@@ -19,9 +19,7 @@ package org.apache.commons.beanutils.locale.converters;
/**
* Test Case for the DoubleLocaleConverter class.
- *
*/
-
public class DoubleLocaleConverterTest extends BaseLocaleConverterTest {
public DoubleLocaleConverterTest(final String name) {
@@ -33,12 +31,9 @@ public class DoubleLocaleConverterTest extends
BaseLocaleConverterTest {
*/
@Override
public void setUp() throws Exception {
-
super.setUp();
-
- defaultValue = Double.valueOf("9.99");
+ defaultValue = Double.valueOf("9.99");
expectedValue = Double.valueOf(expectedDecimalValue);
-
}
/**
@@ -50,194 +45,145 @@ public class DoubleLocaleConverterTest extends
BaseLocaleConverterTest {
}
/**
- * Passing a non-Double Number directly (e.g. Integer) must return a
Double, not fail the conversion.
- */
- public void testConvertFromNonDoubleNumber() {
-
- converter = new DoubleLocaleConverter();
-
- assertEquals(Double.valueOf(42.0), converter.convert(Double.class,
Integer.valueOf(42), null));
- assertEquals(Double.valueOf(3.14f), converter.convert(Double.class,
Float.valueOf(3.14f), null));
- assertEquals(Double.valueOf(100L), converter.convert(Double.class,
Long.valueOf(100L), null));
-
- }
-
- /**
- * Test Converter() constructor
- *
- * Uses the default locale, no default value
- *
+ * Test Converter() constructor Uses the default locale, no default value
*/
public void testConstructor_2() {
-
converter = new DoubleLocaleConverter();
-
// Perform Tests
convertValueNoPattern(converter, defaultDecimalValue, expectedValue);
convertValueWithPattern(converter, defaultDecimalValue,
defaultDecimalPattern, expectedValue);
convertInvalid(converter, null);
convertNull(converter, null);
-
}
/**
- * Test Converter(locPattern) constructor
- *
- * Uses the default locale, no default value
- *
+ * Test Converter(locPattern) constructor Uses the default locale, no
default value
*/
public void testConstructor_3() {
-
converter = new DoubleLocaleConverter(true);
-
// Perform Tests
convertValueNoPattern(converter, defaultDecimalValue, expectedValue);
convertValueWithPattern(converter, defaultDecimalValue,
defaultDecimalPattern, expectedValue);
convertInvalid(converter, null);
convertNull(converter, null);
-
}
/**
* Test Converter(Locale) constructor
*/
public void testConstructor_4() {
-
converter = new DoubleLocaleConverter(localizedLocale);
-
// Perform Tests
convertValueNoPattern(converter, localizedDecimalValue, expectedValue);
convertValueWithPattern(converter, localizedDecimalValue,
defaultDecimalPattern, expectedValue);
convertInvalid(converter, null);
convertNull(converter, null);
-
}
/**
* Test Converter(Locale, locPattern) constructor
*/
public void testConstructor_5() {
-
converter = new DoubleLocaleConverter(localizedLocale, true);
-
// Perform Tests
convertValueNoPattern(converter, localizedDecimalValue, expectedValue);
convertValueWithPattern(converter, localizedDecimalValue,
localizedDecimalPattern, expectedValue);
convertInvalid(converter, null);
convertNull(converter, null);
-
}
/**
* Test Converter(Locale, pattern) constructor
*/
public void testConstructor_6() {
-
converter = new DoubleLocaleConverter(localizedLocale,
defaultDecimalPattern);
-
// Perform Tests
convertValueNoPattern(converter, localizedDecimalValue, expectedValue);
convertValueWithPattern(converter, localizedDecimalValue,
defaultDecimalPattern, expectedValue);
convertInvalid(converter, null);
convertNull(converter, null);
-
}
/**
* Test Converter(Locale, pattern, locPattern) constructor
*/
public void testConstructor_7() {
-
converter = new DoubleLocaleConverter(localizedLocale,
localizedDecimalPattern, true);
-
// Perform Tests
convertValueNoPattern(converter, localizedDecimalValue, expectedValue);
convertValueWithPattern(converter, localizedDecimalValue,
localizedDecimalPattern, expectedValue);
convertInvalid(converter, null);
convertNull(converter, null);
-
}
/**
* Test Converter(defaultValue) constructor
*/
public void testConstructor_8() {
-
converter = new DoubleLocaleConverter(defaultValue);
-
// Perform Tests
convertValueNoPattern(converter, defaultDecimalValue, expectedValue);
convertValueWithPattern(converter, defaultDecimalValue,
defaultDecimalPattern, expectedValue);
convertInvalid(converter, defaultValue);
convertNull(converter, defaultValue);
-
}
/**
* Test Converter(defaultValue, locPattern) constructor
*/
public void testConstructor_9() {
-
converter = new DoubleLocaleConverter(defaultValue, true);
-
// Perform Tests
convertValueNoPattern(converter, defaultDecimalValue, expectedValue);
convertValueWithPattern(converter, defaultDecimalValue,
defaultDecimalPattern, expectedValue);
convertInvalid(converter, defaultValue);
convertNull(converter, defaultValue);
-
}
/**
* Test Converter(defaultValue, locale, pattern, localizedPattern)
constructor
*/
public void testConstructorMain() {
-
- converter = new DoubleLocaleConverter(defaultValue,
- localizedLocale,
- localizedDecimalPattern,
- true);
-
+ converter = new DoubleLocaleConverter(defaultValue, localizedLocale,
localizedDecimalPattern, true);
convertValueNoPattern(converter, "(A)", localizedDecimalValue,
expectedValue);
convertValueWithPattern(converter, "(A)", localizedDecimalValue,
localizedDecimalPattern, expectedValue);
convertInvalid(converter, "(A)", defaultValue);
convertNull(converter, "(A)", defaultValue);
-
//
**************************************************************************
// Convert value in the wrong format - the trailing characters left
after the
// partial parse are now rejected, so the converter returns the
default.
//
**************************************************************************
convertValueNoPattern(converter, "(B)", defaultDecimalValue,
defaultValue);
-
//
**************************************************************************
// Convert with non-localized pattern - this causes an exception in
parse()
// but it gets swallowed in convert() method and returns default.
- // **** IS THIS THE EXPECTED BEHAVIOUR? ****
+ // **** IS THIS THE EXPECTED BEHAVIOUR? ****
// Maybe if the pattern is no good, we should use a default pattern
rather
// than just returning the default value.
//
**************************************************************************
convertValueWithPattern(converter, "(B)", localizedDecimalValue,
defaultDecimalPattern, defaultValue);
-
//
**************************************************************************
// Convert with specified type
//
// BaseLocaleConverter completely ignores the type - so even if we
specify
// Double.class here it still returns a Double.
- // **** This has been changed due to BEANUTILS-449 ****
+ // **** This has been changed due to BEANUTILS-449 ****
//
**************************************************************************
- //convertValueToType(converter, "(B)", Integer.class,
localizedDecimalValue, localizedDecimalPattern, expectedValue);
-
- converter = new DoubleLocaleConverter(defaultValue,
- localizedLocale,
- defaultDecimalPattern,
- false);
-
+ // convertValueToType(converter, "(B)", Integer.class,
localizedDecimalValue, localizedDecimalPattern, expectedValue);
+ converter = new DoubleLocaleConverter(defaultValue, localizedLocale,
defaultDecimalPattern, false);
convertValueNoPattern(converter, "(C)", localizedDecimalValue,
expectedValue);
convertValueWithPattern(converter, "(C)", localizedDecimalValue,
defaultDecimalPattern, expectedValue);
convertInvalid(converter, "(C)", defaultValue);
convertNull(converter, "(C)", defaultValue);
-
}
+ /**
+ * Passing a non-Double Number directly (e.g. Integer) must return a
Double, not fail the conversion.
+ */
+ public void testConvertFromNonDoubleNumber() {
+ converter = new DoubleLocaleConverter();
+ assertEquals(Double.valueOf(42.0), converter.convert(Double.class,
Integer.valueOf(42), null));
+ assertEquals(Double.valueOf(3.14f), converter.convert(Double.class,
Float.valueOf(3.14f), null));
+ assertEquals(Double.valueOf(100L), converter.convert(Double.class,
Long.valueOf(100L), null));
+ }
}
-