From 7f1478020423a440f6b7d31710c64decbff95efc Mon Sep 17 00:00:00 2001 From: Erwin Vervaet Date: Wed, 27 Dec 2006 13:21:11 +0000 Subject: [PATCH] Updated to reflect decision made in SWF-208. --- .../format/support/NumberFormatterTests.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/spring-binding/src/test/java/org/springframework/binding/format/support/NumberFormatterTests.java b/spring-binding/src/test/java/org/springframework/binding/format/support/NumberFormatterTests.java index 33a2ce66..a7e8930c 100644 --- a/spring-binding/src/test/java/org/springframework/binding/format/support/NumberFormatterTests.java +++ b/spring-binding/src/test/java/org/springframework/binding/format/support/NumberFormatterTests.java @@ -19,6 +19,7 @@ import java.math.BigDecimal; import java.util.Locale; import org.springframework.binding.format.Formatter; +import org.springframework.context.i18n.SimpleLocaleContext; import junit.framework.TestCase; @@ -40,15 +41,26 @@ public class NumberFormatterTests extends TestCase { Locale.setDefault(systemDefaultLocale); } - public void testParseBigDecimalInUs() { + public void testParseUsBigDecimalInUs() { Locale.setDefault(Locale.US); - Formatter formatter = new SimpleFormatterFactory().getNumberFormatter(BigDecimal.class); + SimpleFormatterFactory formatterFactory = new SimpleFormatterFactory(); + Formatter formatter = formatterFactory.getNumberFormatter(BigDecimal.class); assertEquals(new BigDecimal("123.45"), formatter.parseValue("123.45", BigDecimal.class)); } - public void testParseBigDecimalInGermany() { + public void testParseUsBigDecimalInGermany() { Locale.setDefault(Locale.GERMANY); - Formatter formatter = new SimpleFormatterFactory().getNumberFormatter(BigDecimal.class); + SimpleFormatterFactory formatterFactory = new SimpleFormatterFactory(); + // we're expressing our numbers in US notation! + formatterFactory.setLocaleContext(new SimpleLocaleContext(Locale.US)); + Formatter formatter = formatterFactory.getNumberFormatter(BigDecimal.class); assertEquals(new BigDecimal("123.45"), formatter.parseValue("123.45", BigDecimal.class)); } + + public void testParseGermanBigDecimalInGermany() { + Locale.setDefault(Locale.GERMANY); + SimpleFormatterFactory formatterFactory = new SimpleFormatterFactory(); + Formatter formatter = formatterFactory.getNumberFormatter(BigDecimal.class); + assertEquals(new BigDecimal("123.45"), formatter.parseValue("123,45", BigDecimal.class)); + } }