use of io.vertigo.dynamox.domain.formatter.FormatterNumberLocalized in project vertigo by KleeGroup.
the class NumberFormatterTest method testFormatterNumberMLWithDecimal.
/**
* Test du formatter de nombre.
* @throws FormatterException e
*/
@Test
public void testFormatterNumberMLWithDecimal() throws FormatterException {
// séparateur décimal , et accepte .
// séparateur milliers '\u00A0' => espace insécable + espace (implicite)
final FormatterNumber formatterNumberLocalized = new FormatterNumberLocalized("#,##0.00|,.|\u00A0 ");
// BigDecimal
final BigDecimal pi = new BigDecimal("3.14");
Assert.assertEquals(pi, formatterNumberLocalized.stringToValue("3.14", DataType.BigDecimal));
Assert.assertEquals(pi, formatterNumberLocalized.stringToValue("3,14", DataType.BigDecimal));
Assert.assertEquals(new BigDecimal("0.14"), formatterNumberLocalized.stringToValue("0.14", DataType.BigDecimal));
Assert.assertEquals("3,14", formatterNumberLocalized.valueToString(pi, DataType.BigDecimal));
Assert.assertEquals("1" + (char) 160 + "495,00", formatterNumberLocalized.valueToString(1495, DataType.BigDecimal));
Assert.assertEquals("1\u00A0495,00", formatterNumberLocalized.valueToString(1495, DataType.BigDecimal));
Assert.assertEquals("1\u00A0495,52", formatterNumberLocalized.valueToString(1495.52, DataType.BigDecimal));
// Integer
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("1492", DataType.Integer));
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("1 492", DataType.Integer));
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("1492 ", DataType.Integer));
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("01492 ", DataType.Integer));
Assert.assertEquals("1\u00A0492,00", formatterNumberLocalized.valueToString(1492, DataType.Integer));
// Long
Assert.assertEquals(1492L, formatterNumberLocalized.stringToValue("1492", DataType.Long));
Assert.assertEquals(1492L, formatterNumberLocalized.stringToValue("1 492", DataType.Long));
Assert.assertEquals(1492L, formatterNumberLocalized.stringToValue("1492 ", DataType.Long));
Assert.assertEquals(1492L, formatterNumberLocalized.stringToValue("01492 ", DataType.Long));
Assert.assertEquals("1\u00A0492,00", formatterNumberLocalized.valueToString(1492L, DataType.Long));
}
use of io.vertigo.dynamox.domain.formatter.FormatterNumberLocalized in project vertigo by KleeGroup.
the class NumberFormatterTest method testFormatterNumberMLConflit.
/**
* Test du formatter de nombre.
* @throws FormatterException e
*/
@Test(expected = IllegalArgumentException.class)
public void testFormatterNumberMLConflit() throws FormatterException {
final FormatterNumber formatterNumberLocalized = new FormatterNumberLocalized("#,##0.##|.,|.");
formatterNumberLocalized.stringToValue("3.14", DataType.BigDecimal);
// Détection du conflit entre séparateur décimal et de millier
}
use of io.vertigo.dynamox.domain.formatter.FormatterNumberLocalized in project vertigo by KleeGroup.
the class NumberFormatterTest method testFormatterNumberMLNoDecimal.
/**
* Test du formatter de nombre.
* @throws FormatterException e
*/
@Test
public void testFormatterNumberMLNoDecimal() throws FormatterException {
// séparateur décimal . et accepte ,
// séparateur milliers NO précisé => par défaut sep \u00A0
final FormatterNumber formatterNumberLocalized = new FormatterNumberLocalized("#,##0.##|.,|");
// séparateur milliers ' '
final FormatterNumber formatterNumberLocalizedSpace = new FormatterNumberLocalized("#,##0.##|.,| \u00A0");
// BigDecimal
final BigDecimal pi = new BigDecimal("3.14");
Assert.assertEquals(pi, formatterNumberLocalized.stringToValue("3.14", DataType.BigDecimal));
Assert.assertEquals(pi, formatterNumberLocalized.stringToValue("3,14", DataType.BigDecimal));
Assert.assertEquals(new BigDecimal("0.14"), formatterNumberLocalized.stringToValue("0.14", DataType.BigDecimal));
Assert.assertEquals("3.14", formatterNumberLocalized.valueToString(pi, DataType.BigDecimal));
Assert.assertEquals("1\u00A0495", formatterNumberLocalized.valueToString(1495, DataType.BigDecimal));
Assert.assertEquals("1 495.52", formatterNumberLocalizedSpace.valueToString(1495.52, DataType.BigDecimal));
// Integer
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("1492", DataType.Integer));
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("1\u00A0492", DataType.Integer));
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("1492 ", DataType.Integer));
Assert.assertEquals(1492, formatterNumberLocalized.stringToValue("01492 ", DataType.Integer));
Assert.assertEquals("1\u00A0492", formatterNumberLocalized.valueToString(1492, DataType.Integer));
// Long
Assert.assertEquals(1492L, formatterNumberLocalized.stringToValue("1492", DataType.Long));
Assert.assertEquals(1492L, formatterNumberLocalizedSpace.stringToValue("1\u00A0492", DataType.Long));
Assert.assertEquals(1492L, formatterNumberLocalized.stringToValue("1492 ", DataType.Long));
Assert.assertEquals(1492L, formatterNumberLocalized.stringToValue("01492 ", DataType.Long));
Assert.assertEquals("1 492", formatterNumberLocalizedSpace.valueToString(1492L, DataType.Long));
}
Aggregations