package fr.openwide.core.test.wicket.more.converter; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Locale; import org.junit.Assert; import org.junit.Test; import fr.openwide.core.test.wicket.more.AbstractWicketMoreTestCase; import fr.openwide.core.wicket.more.markup.html.basic.PercentageBigDecimalConverter; import fr.openwide.core.wicket.more.rendering.CoreRenderers; public class PercentageTests extends AbstractWicketMoreTestCase { @Test public void percentageTest() { PercentageBigDecimalConverter bigDecimalConverterWithPS8 = new PercentageBigDecimalConverter(8, RoundingMode.HALF_UP, 10, true, true); PercentageBigDecimalConverter bigDecimalConverterWithPS2 = new PercentageBigDecimalConverter(2, RoundingMode.HALF_UP, 5, true, true); PercentageBigDecimalConverter bigDecimalConverterWithoutPS8 = new PercentageBigDecimalConverter(8, RoundingMode.HALF_UP, 10, true, false); PercentageBigDecimalConverter bigDecimalConverterWithoutPS2 = new PercentageBigDecimalConverter(2, RoundingMode.HALF_UP, 5, true, false); { BigDecimal bg = bigDecimalConverterWithPS2.convertToObject("51,256%", null); Assert.assertEquals(new BigDecimal("0.51"), bg); String s = bigDecimalConverterWithPS2.convertToString(new BigDecimal("0.51256"), null); Assert.assertEquals("51%", s); Assert.assertEquals("51%", CoreRenderers.percent("#0%", RoundingMode.HALF_UP).render(new BigDecimal("0.51256"), Locale.FRENCH)); } { BigDecimal bg = bigDecimalConverterWithPS8.convertToObject("51,256%", null); Assert.assertEquals(new BigDecimal("0.51256000"), bg); String s = bigDecimalConverterWithPS8.convertToString(new BigDecimal("0.51256"), null); Assert.assertEquals("51,256%", s); Assert.assertEquals("51,256%", CoreRenderers.percent("#0.######%", RoundingMode.HALF_UP).render(new BigDecimal("0.51256"), Locale.FRENCH)); } { BigDecimal bg = bigDecimalConverterWithoutPS2.convertToObject("51,256", null); Assert.assertEquals(new BigDecimal("0.51"), bg); String s = bigDecimalConverterWithoutPS2.convertToString(new BigDecimal("0.51256"), null); Assert.assertEquals("51", s); Assert.assertEquals("51", CoreRenderers.percent("#0", RoundingMode.HALF_UP).render(new BigDecimal("0.51256"), Locale.FRENCH)); } { BigDecimal bg = bigDecimalConverterWithoutPS8.convertToObject("51,256", null); Assert.assertEquals(new BigDecimal("0.51256000"), bg); String s = bigDecimalConverterWithoutPS8.convertToString(new BigDecimal("0.51256"), null); Assert.assertEquals("51,256", s); Assert.assertEquals("51,256", CoreRenderers.percent("#0.######", RoundingMode.HALF_UP).render(new BigDecimal("0.51256"), Locale.FRENCH)); } } }