Author: desruisseaux
Date: Fri Mar 15 12:23:48 2013
New Revision: 1456927

URL: http://svn.apache.org/r1456927
Log:
Added tests for ConverterRegistry.

Added:
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java
   (with props)
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/HeuristicRegistryTest.java
   (with props)
Modified:
    
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/FallbackConverterTest.java
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/NumberConverterTest.java
    
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java

Modified: 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java?rev=1456927&r1=1456926&r2=1456927&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java
 [UTF-8] Fri Mar 15 12:23:48 2013
@@ -306,8 +306,8 @@ public class ConverterRegistry {
              */
             assert converter.getSourceClass() == key.sourceClass; // Enforced 
by parameterized type.
             if (existing.getSourceClass() == key.sourceClass) {
-                final boolean oldIsExact = existing .getTargetClass() == 
key.targetClass;
-                final boolean newIsExact = converter.getTargetClass() == 
key.targetClass;
+                final boolean oldIsExact = isExactlyFor(existing,  
key.targetClass);
+                final boolean newIsExact = isExactlyFor(converter, 
key.targetClass);
                 if (oldIsExact & !newIsExact) {
                     /*
                      * The existing converter was defined exactly for the 
<S,T> classes, while the
@@ -332,6 +332,22 @@ public class ConverterRegistry {
     }
 
     /**
+     * Returns {@code true} if the given converter has exactly the given 
target class.
+     * If the given converter is a {@link FallbackConverter}, then all 
children shall
+     * have the same target type too.
+     */
+    private static boolean isExactlyFor(final ObjectConverter<?,?> converter, 
final Class<?> targetClass) {
+        if (converter.getTargetClass() != targetClass) {
+            return false;
+        }
+        if (converter instanceof FallbackConverter<?,?>) {
+            final FallbackConverter<?,?> fc = (FallbackConverter<?,?>) 
converter;
+            return isExactlyFor(fc.primary, targetClass) && 
isExactlyFor(fc.fallback, targetClass);
+        }
+        return true;
+    }
+
+    /**
      * Returns a converter for exactly the given source and target classes.
      * The default implementation invokes {@link #find(Class, Class)}, then
      * ensures that the converter source and target classes are the same ones
@@ -459,8 +475,8 @@ public class ConverterRegistry {
                      * showing this ClassPair, then the actual converter 
(source, target) as
                      * below:
                      *
-                     *     String     ⇨ Number              (the ClassPair key)
-                     *       └─String ⇨ Integer             (the 
ObjectConverter value)
+                     *     Number      ← String             (the ClassPair key)
+                     *       └─Integer ← String             (the 
ObjectConverter value)
                      *
                      * This is the same idea than the formatting done by 
FallbackConverter,
                      * except that there is only one child. Actually this can 
be though as

Added: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java?rev=1456927&view=auto
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java
 (added)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java
 [UTF-8] Fri Mar 15 12:23:48 2013
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.converter;
+
+import java.util.Deque;
+import java.util.ArrayDeque;
+import java.io.Serializable;
+import org.apache.sis.util.ObjectConverter;
+import org.apache.sis.util.UnconvertibleObjectException;
+import org.apache.sis.test.DependsOnMethod;
+import org.apache.sis.test.DependsOn;
+import org.apache.sis.test.TestCase;
+import org.junit.Test;
+
+import static org.apache.sis.test.Assert.*;
+
+
+/**
+ * Tests the {@link ConverterRegistry} implementation. Every tests in this 
class uses their own
+ * instance of {@link ConverterRegistry}, so they are not affected by whatever 
new converter may
+ * be added or removed from the system-wide registry.
+ *
+ * <p>This test shall not perform any conversion neither serialization. It 
shall only ensures
+ * that the converters are properly registered. This is because some {@link 
SystemConverter}
+ * methods may query back {@link HeuristicRegistry#SYSTEM} while we want to 
keep the tests
+ * isolated.</p>
+ *
+ * @author  Martin Desruisseaux (Geomatys)
+ * @since   0.3 (derived from geotk-3.00)
+ * @version 0.3
+ * @module
+ */
+@DependsOn({FallbackConverterTest.class,
+    org.apache.sis.util.collection.TreeTableFormatTest.class})
+public final strictfp class ConverterRegistryTest extends TestCase {
+    /**
+     * The registry being tested.
+     */
+    private final ConverterRegistry registry = new ConverterRegistry();
+
+    /**
+     * All converters registered in a test case. Only the converter type and 
properties
+     * will be verified; no conversion or serialization shall be attempted.
+     */
+    private Deque<ObjectConverter<?,?>> converters = new ArrayDeque<>();
+
+    /**
+     * Registers a converter to test.
+     */
+    private void register(final ObjectConverter<?,?> converter) {
+        converters.add(converter);
+        registry.register(converter);
+    }
+
+    /**
+     * Ensures that all converters tested so far are still registered.
+     */
+    private void assertAllConvertersAreRegistered() {
+        for (final ObjectConverter<?,?> converter : converters) {
+            assertSame(converter, registry.find(converter.getSourceClass(), 
converter.getTargetClass()));
+        }
+    }
+
+    /**
+     * Ensures that the current converters is also registered for the given 
target class.
+     * The given target may not be the same than the {@link 
ObjectConverter#getTargetClass()}.
+     *
+     * @param targetClass The target class to ensure that the converter is 
registered for.
+     */
+    private void assertSameConverterForTarget(final Class<?> targetClass) {
+        final ObjectConverter<?,?> converter = converters.peekLast();
+        final Class<?> sourceClass = converter.getSourceClass();
+        final ObjectConverter<?,?> actual;
+        try {
+            actual = registry.find(sourceClass, targetClass);
+        } catch (UnconvertibleObjectException e) {
+            fail("Converter ‘" + converter + "‛ was expected to be applicable 
to ‘" +
+                    targetClass.getSimpleName() + "‛ but got " + e);
+            return;
+        }
+        assertSame("Same converter shall be applicable to other target.", 
converter, actual);
+    }
+
+    /**
+     * Ensures that there is no converter for the given target.
+     *
+     * @param targetClass The target which should not have any registered 
converter.
+     */
+    private void assertNoConverterForTarget(final Class<?> targetClass) {
+        final ObjectConverter<?,?> converter = converters.peekLast();
+        final Class<?> sourceClass = converter.getSourceClass();
+        final ObjectConverter<?,?> actual;
+        try {
+            actual = registry.find(sourceClass, targetClass);
+        } catch (UnconvertibleObjectException e) {
+            // This is the expected exception
+            final String message = e.getMessage();
+            assertTrue(message, message.contains(sourceClass.getSimpleName()));
+            assertTrue(message, message.contains(targetClass.getSimpleName()));
+            return;
+        }
+        fail("Expected no converter from ‘" + sourceClass.getSimpleName() + "‛ 
to ‘" +
+                targetClass.getSimpleName() + "‛ but got " + actual);
+    }
+
+    /**
+     * Ensures that the converter for the given target is an {@link 
IdentityConverter}.
+     *
+     * @param targetClass The target for which an identity converter should be 
obtained.
+     */
+    private void assertIdentityForTarget(final Class<?> targetClass) {
+        final ObjectConverter<?,?> converter = converters.peekLast();
+        final Class<?> sourceClass = converter.getSourceClass();
+        final ObjectConverter<?,?> actual = registry.find(sourceClass, 
targetClass);
+        final String message = sourceClass.getSimpleName() + " ← " + 
targetClass.getSimpleName();
+        assertInstanceOf(message, IdentityConverter.class, actual);
+        assertSame(message, sourceClass, actual.getSourceClass());
+        assertSame(message, targetClass, actual.getTargetClass());
+    }
+
+    /**
+     * Asserts that the converter to the given target is a fallback having the 
given string
+     * representation.
+     *
+     * @param expected The expected string representation of the fallback.
+     */
+    private void assertFallbackEquals(final Class<?> target, final String 
expected) {
+        ObjectConverter<?,?> converter = converters.peekLast();
+        final Class<?> sourceClass = converter.getSourceClass();
+        converter = registry.find(sourceClass, target);
+        assertMultilinesEquals(expected, converter.toString());
+    }
+
+    /**
+     * Tests registration of converters from {@link String} to miscellaneous 
objects.
+     * This method tests the addition of many converters because we want to 
observe
+     * how {@linkplain #registry} grow in reaction to those additions.
+     */
+    @Test
+    public void testStringToMiscellaneous() {
+        assertAllConvertersAreRegistered();
+        register(StringConverter.Short.INSTANCE);
+        assertSameConverterForTarget(Short       .class);
+        assertSameConverterForTarget(Number      .class);
+        assertIdentityForTarget     (Object      .class);
+        assertNoConverterForTarget  (Cloneable   .class);
+        assertIdentityForTarget     (Comparable  .class);
+        assertIdentityForTarget     (Serializable.class);
+        assertMultilinesEquals("After StringConverter.Short",
+            "ConverterRegistry\n" +
+            "  ├─Short         ← String\n" +
+            "  ├─Number        ← String\n" +  // Same instance than above, 
applied to Number target.
+            "  │   └─Short     ← String\n" +
+            "  ├─Object        ← String\n" +
+            "  ├─Comparable    ← String\n" +
+            "  └─Serializable  ← String\n", registry.toString());
+        /*
+         * Adds String ← Long
+         * Expected side-effect: creation of FallbackConverter[String ← Number]
+         */
+        assertAllConvertersAreRegistered();
+        assertNoConverterForTarget(Long.class);
+        register(StringConverter.Long.INSTANCE);
+        assertSameConverterForTarget(Long        .class);
+        assertIdentityForTarget     (Object      .class);
+        assertNoConverterForTarget  (Cloneable   .class);
+        assertIdentityForTarget     (Comparable  .class);
+        assertIdentityForTarget     (Serializable.class);
+        assertFallbackEquals        (Number      .class,
+                "Number    ← String\n" +
+                "  ├─Short ← String\n" +
+                "  └─Long  ← String\n");
+        assertMultilinesEquals("After StringConverter.Long",
+            "ConverterRegistry\n" +
+            "  ├─Short         ← String\n" +
+            "  ├─Object        ← String\n" +
+            "  ├─Comparable    ← String\n" +
+            "  ├─Serializable  ← String\n" +
+            "  ├─Long          ← String\n" +
+            "  └─Number        ← String\n" + // The FallbackConverter, which 
replaced the previous.
+            "      ├─Short     ← String\n" +
+            "      └─Long      ← String\n", registry.toString());
+        /*
+         * Adds String ← Boolean
+         * Expected side-effect: none since Boolean is not a Number
+         */
+        assertAllConvertersAreRegistered();
+        assertNoConverterForTarget(Boolean.class);
+        register(StringConverter.Boolean.INSTANCE);
+        assertSameConverterForTarget(Boolean     .class);
+        assertIdentityForTarget     (Object      .class);
+        assertNoConverterForTarget  (Cloneable   .class);
+        assertIdentityForTarget     (Comparable  .class);
+        assertIdentityForTarget     (Serializable.class);
+        assertMultilinesEquals("After StringConverter.Boolean",
+            "ConverterRegistry\n" +
+            "  ├─Short         ← String\n" +
+            "  ├─Object        ← String\n" +
+            "  ├─Comparable    ← String\n" +
+            "  ├─Serializable  ← String\n" +
+            "  ├─Long          ← String\n" +
+            "  ├─Number        ← String\n" +
+            "  │   ├─Short     ← String\n" +
+            "  │   └─Long      ← String\n" +
+            "  └─Boolean       ← String\n", registry.toString());
+        /*
+         * Adds String ← Number
+         * Expected side-effect: replacement of the FallbackConverter
+         */
+        assertAllConvertersAreRegistered();
+        register(StringConverter.Number.INSTANCE);
+        assertSameConverterForTarget(Number      .class);
+        assertIdentityForTarget     (Object      .class);
+        assertNoConverterForTarget  (Cloneable   .class);
+        assertIdentityForTarget     (Comparable  .class);
+        assertIdentityForTarget     (Serializable.class);
+        assertMultilinesEquals("After StringConverter.Number",
+            "ConverterRegistry\n" +
+            "  ├─Short         ← String\n" +
+            "  ├─Object        ← String\n" +
+            "  ├─Comparable    ← String\n" +
+            "  ├─Serializable  ← String\n" +
+            "  ├─Long          ← String\n" +
+            "  ├─Number        ← String\n" + // Replaced the FallbackConverter.
+            "  └─Boolean       ← String\n", registry.toString());
+        /*
+         * Adds String ← Float
+         * Expected side-effect: none
+         */
+        assertAllConvertersAreRegistered();
+        assertNoConverterForTarget(Float.class);
+        register(StringConverter.Float.INSTANCE);
+        assertSameConverterForTarget(Float       .class);
+        assertIdentityForTarget     (Object      .class);
+        assertNoConverterForTarget  (Cloneable   .class);
+        assertIdentityForTarget     (Comparable  .class);
+        assertIdentityForTarget     (Serializable.class);
+        assertMultilinesEquals("After StringConverter.Float",
+            "ConverterRegistry\n" +
+            "  ├─Short         ← String\n" +
+            "  ├─Object        ← String\n" +
+            "  ├─Comparable    ← String\n" +
+            "  ├─Serializable  ← String\n" +
+            "  ├─Long          ← String\n" +
+            "  ├─Number        ← String\n" +
+            "  ├─Boolean       ← String\n" +
+            "  └─Float         ← String\n", registry.toString());
+        /*
+         * Final check.
+         */
+        assertAllConvertersAreRegistered();
+    }
+
+    /**
+     * Tests registration of converters between {@link Number} and 
miscellaneous objects.
+     * This method tests the addition of many converters because we want to 
observe
+     * how {@linkplain #registry} grow in reaction to those additions.
+     */
+    @Test
+    @DependsOnMethod("testStringToMiscellaneous")
+    public void testNumberToMiscellaneous() {
+        assertAllConvertersAreRegistered();
+        register(ObjectToString.NUMBER);
+        assertSameConverterForTarget(String      .class);
+        assertIdentityForTarget     (Object      .class);
+        assertNoConverterForTarget  (Cloneable   .class);
+        assertNoConverterForTarget  (Comparable  .class);
+        assertIdentityForTarget     (Serializable.class);
+        assertSameConverterForTarget(CharSequence.class);
+        assertMultilinesEquals("After ObjectToString.Number",
+            "ConverterRegistry\n" +
+            "  ├─String        ← Number\n" +
+            "  ├─CharSequence  ← Number\n" +
+            "  │   └─String    ← Number\n" +
+            "  ├─Object        ← Number\n" +
+            "  └─Serializable  ← Number\n", registry.toString());
+        /*
+         * Adds String ← Number
+         * Expected side-effect: none
+         */
+        assertAllConvertersAreRegistered();
+        register(StringConverter.Number.INSTANCE);
+        assertSameConverterForTarget(Number.class);
+        assertMultilinesEquals("After StringConverter.Number",
+            "ConverterRegistry\n" +
+            "  ├─String        ← Number\n" +
+            "  ├─CharSequence  ← Number\n" +
+            "  │   └─String    ← Number\n" +
+            "  ├─Object        ← Number\n" +
+            "  ├─Serializable  ← Number\n" +
+            "  └─Number        ← String\n", registry.toString());
+        /*
+         * Adds Number ← Float
+         * Expected side-effect: none
+         */
+        assertAllConvertersAreRegistered();
+        register(new NumberConverter<>(Number.class, Float.class));
+        assertSameConverterForTarget(Float.class);
+        assertMultilinesEquals("After NumberConverter.Float",
+            "ConverterRegistry\n" +
+            "  ├─String        ← Number\n" +
+            "  ├─CharSequence  ← Number\n" +
+            "  │   └─String    ← Number\n" +
+            "  ├─Object        ← Number\n" +
+            "  ├─Serializable  ← Number\n" +
+            "  ├─Number        ← String\n" +
+            "  └─Float         ← Number\n", registry.toString());
+        /*
+         * Final check.
+         */
+        assertAllConvertersAreRegistered();
+    }
+}

Propchange: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/FallbackConverterTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/FallbackConverterTest.java?rev=1456927&r1=1456926&r2=1456927&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/FallbackConverterTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/FallbackConverterTest.java
 [UTF-8] Fri Mar 15 12:23:48 2013
@@ -38,7 +38,8 @@ import static org.apache.sis.test.Assert
  * @version 0.3
  * @module
  */
-@DependsOn(org.apache.sis.util.collection.TreeTableFormatTest.class)
+@DependsOn({StringConverterTest.class,
+    org.apache.sis.util.collection.TreeTableFormatTest.class})
 public final strictfp class FallbackConverterTest extends TestCase {
     /**
      * Conversions that are expected to be supported.

Added: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/HeuristicRegistryTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/HeuristicRegistryTest.java?rev=1456927&view=auto
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/HeuristicRegistryTest.java
 (added)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/HeuristicRegistryTest.java
 [UTF-8] Fri Mar 15 12:23:48 2013
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.converter;
+
+import org.apache.sis.util.ObjectConverter;
+import org.apache.sis.test.DependsOn;
+import org.apache.sis.test.TestCase;
+import org.junit.Test;
+
+import static org.opengis.test.Assert.*;
+import static org.apache.sis.internal.converter.HeuristicRegistry.SYSTEM;
+
+
+/**
+ * Tests the {@link HeuristicRegistry#SYSTEM} constant.
+ *
+ * @author  Martin Desruisseaux (Geomatys)
+ * @since   0.3 (derived from geotk-3.00)
+ * @version 0.3
+ * @module
+ */
+@DependsOn(ConverterRegistryTest.class)
+public final strictfp class HeuristicRegistryTest extends TestCase {
+    /**
+     * Tests the creation of {@link NumberConverter}.
+     */
+    @Test
+    public void testSystem() {
+        final ObjectConverter<Float,Double> c1 = SYSTEM.findExact(Float.class, 
Double.class);
+        final ObjectConverter<Double,Float> c2 = 
SYSTEM.findExact(Double.class, Float.class);
+        assertInstanceOf("Double ← Float", NumberConverter.class, c1);
+        assertInstanceOf("Float ← Double", NumberConverter.class, c2);
+        assertSame("inverse()", c2, c1.inverse());
+        assertSame("inverse()", c1, c2.inverse());
+    }
+}

Propchange: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/HeuristicRegistryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/HeuristicRegistryTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/NumberConverterTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/NumberConverterTest.java?rev=1456927&r1=1456926&r2=1456927&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/NumberConverterTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/internal/converter/NumberConverterTest.java
 [UTF-8] Fri Mar 15 12:23:48 2013
@@ -21,6 +21,7 @@ import java.math.BigDecimal;
 import org.apache.sis.math.FunctionProperty;
 import org.apache.sis.util.ObjectConverter;
 import org.apache.sis.util.UnconvertibleObjectException;
+import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
 
@@ -35,6 +36,7 @@ import static org.apache.sis.test.Assert
  * @version 0.3
  * @module
  */
+@DependsOn(HeuristicRegistryTest.class)
 public final strictfp class NumberConverterTest extends TestCase {
     /**
      * Creates a {@link NumberConverter} for the given source and target 
classes.

Modified: 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java?rev=1456927&r1=1456926&r2=1456927&view=diff
==============================================================================
--- 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
 [UTF-8] Fri Mar 15 12:23:48 2013
@@ -95,8 +95,10 @@ import org.junit.runners.Suite;
     org.apache.sis.internal.converter.URLConverterTest.class,
     org.apache.sis.internal.converter.FileConverterTest.class,
     org.apache.sis.internal.converter.StringConverterTest.class,
-    org.apache.sis.internal.converter.NumberConverterTest.class,
     org.apache.sis.internal.converter.FallbackConverterTest.class,
+    org.apache.sis.internal.converter.ConverterRegistryTest.class,
+    org.apache.sis.internal.converter.HeuristicRegistryTest.class,
+    org.apache.sis.internal.converter.NumberConverterTest.class, // Shall be 
after HeuristicRegistryTest.
 
     // XML most basic types.
     org.apache.sis.xml.XLinkTest.class,


Reply via email to