|
From: <de...@us...> - 2013-03-21 09:08:00
|
Revision: 8355
http://fudaa.svn.sourceforge.net/fudaa/?rev=8355&view=rev
Author: deniger
Date: 2013-03-21 09:07:53 +0000 (Thu, 21 Mar 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatChoice.java
trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatInfini.java
trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilder.java
Added Paths:
-----------
trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilderTest.java
Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatChoice.java
===================================================================
--- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatChoice.java 2013-03-20 15:25:37 UTC (rev 8354)
+++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatChoice.java 2013-03-21 09:07:53 UTC (rev 8355)
@@ -44,6 +44,10 @@
return (absValue > maxValue || absValue < minValue);
}
+ public NumberFormat getBase() {
+ return base;
+ }
+
@Override
public StringBuffer format(final double number, final StringBuffer toAppendTo, final FieldPosition pos) {
if (useScientific(number)) {
Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatInfini.java
===================================================================
--- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatInfini.java 2013-03-20 15:25:37 UTC (rev 8354)
+++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/NumberFormatInfini.java 2013-03-21 09:07:53 UTC (rev 8355)
@@ -67,4 +67,11 @@
public NumberFormat getBase() {
return base;
}
+
+ public NumberFormat getRealBase() {
+ if (base instanceof NumberFormatChoice) {
+ return ((NumberFormatChoice) base).getBase();
+ }
+ return base;
+ }
}
Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilder.java 2013-03-20 15:25:37 UTC (rev 8354)
+++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilder.java 2013-03-21 09:07:53 UTC (rev 8355)
@@ -31,7 +31,7 @@
if ("nbr".equalsIgnoreCase(natureNom) || "num".equalsIgnoreCase(natureNom)) {
return null;
}
- int nbDec = Math.abs((int) Math.log10(nature.getEpsilon().getEpsilon(presentionOrComparison)));
+ int nbDec = Math.abs((int) Math.floor(Math.log10(nature.getEpsilon().getEpsilon(presentionOrComparison))));
NumberFormat numberFormat = this.nbDecFormat.get(nbDec);
if (numberFormat == null) {
numberFormat = new DecimalFormat();
Added: trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilderTest.java
===================================================================
--- trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilderTest.java (rev 0)
+++ trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/PropertyFormaterBuilderTest.java 2013-03-21 09:07:53 UTC (rev 8355)
@@ -0,0 +1,35 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.crue.config.ccm;
+
+import static org.junit.Assert.*;
+import org.junit.Test;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class PropertyFormaterBuilderTest {
+
+ public PropertyFormaterBuilderTest() {
+ }
+
+ @Test
+ public void testCreateFormatter() {
+ test(1e-2, 2, 1e-3, 3);
+ test(1e-10, 10, 1e-22, 22);
+ test(2e-2, 2, 2e-3, 3);
+ test(3e-10, 10, 3e-22, 22);
+ }
+
+ protected void test(double comparaison, int comparaisonFractionDigits, double presentation, int presentationFractionDigits) {
+ PropertyFormaterBuilder builder = new PropertyFormaterBuilder();
+ PropertyEpsilon epsilon = new PropertyEpsilon(comparaison, presentation);
+ PropertyNature property = new PropertyNature("test", epsilon, "none", new PropertyTypeNumerique("Tnu_Reel", "", 1e23));
+ NumberFormatInfini formatter = (NumberFormatInfini) builder.getFormatter(property, DecimalFormatEpsilonEnum.COMPARISON);
+ assertEquals(comparaisonFractionDigits, formatter.getRealBase().getMaximumFractionDigits());
+ formatter = (NumberFormatInfini) builder.getFormatter(property, DecimalFormatEpsilonEnum.PRESENTATION);
+ assertEquals(presentationFractionDigits, formatter.getRealBase().getMaximumFractionDigits());
+ }
+}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|