sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1456927 - in /sis/branches/JDK7/sis-utility/src: main/java/org/apache/sis/internal/converter/ test/java/org/apache/sis/internal/converter/ test/java/org/apache/sis/test/suite/
Date Fri, 15 Mar 2013 12:23:49 GMT
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,



Mime
View raw message