This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 2f7d100c28e4c06b67b8b1099c69f53c449df27e Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Fri Jun 21 10:37:48 2019 +0200 Initial move of WKT parser/formatter from sis-metadata module to sis-referencing. https://issues.apache.org/jira/browse/SIS-463 --- .../sis/internal/metadata/ReferencingServices.java | 32 --------- .../java/org/apache/sis/io/wkt/WKTFormatTest.txt | 4 -- .../java/org/apache/sis/test/MetadataAssert.java | 79 --------------------- .../apache/sis/test/suite/MetadataTestSuite.java | 8 --- .../internal/referencing/ServicesForMetadata.java | 6 +- .../java/org/apache/sis/io/wkt/AbstractParser.java | 0 .../main/java/org/apache/sis/io/wkt/Colors.java | 0 .../java/org/apache/sis/io/wkt/Convention.java | 0 .../main/java/org/apache/sis/io/wkt/Element.java | 0 .../java/org/apache/sis/io/wkt/ElementKind.java | 0 .../org/apache/sis/io/wkt/FormattableObject.java | 0 .../main/java/org/apache/sis/io/wkt/Formatter.java | 6 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 0 .../java/org/apache/sis/io/wkt/KeywordCase.java | 0 .../java/org/apache/sis/io/wkt/KeywordStyle.java | 0 .../org/apache/sis/io/wkt/MathTransformParser.java | 0 .../main/java/org/apache/sis/io/wkt/Parser.java | 0 .../main/java/org/apache/sis/io/wkt/Symbols.java | 0 .../java/org/apache/sis/io/wkt/Transliterator.java | 0 .../sis/io/wkt/UnformattableObjectException.java | 0 .../sis/io/wkt/UnparsableObjectException.java | 0 .../java/org/apache/sis/io/wkt/VerticalInfo.java | 0 .../main/java/org/apache/sis/io/wkt/WKTFormat.java | 0 .../main/java/org/apache/sis/io/wkt/Warnings.java | 0 .../java/org/apache/sis/io/wkt/package-info.java | 0 .../sis/metadata/iso/ImmutableIdentifier.java | 0 .../org/apache/sis/geometry/ArrayEnvelopeTest.java | 2 +- .../internal/referencing/provider/AffineTest.java | 2 +- .../provider/LongitudeRotationTest.java | 2 +- .../java/org/apache/sis/io/wkt/ColorsTest.java | 0 .../java/org/apache/sis/io/wkt/ConventionTest.java | 0 .../java/org/apache/sis/io/wkt/ElementTest.java | 0 .../java/org/apache/sis/io/wkt/FormatterTest.java | 2 +- .../java/org/apache/sis/io/wkt/SymbolsTest.java | 0 .../org/apache/sis/io/wkt/TransliteratorTest.java | 0 .../sis/metadata/iso/ImmutableIdentifierTest.java | 4 +- .../DefaultParameterDescriptorGroupTest.java | 2 +- .../parameter/DefaultParameterDescriptorTest.java | 2 +- .../sis/parameter/DefaultParameterValueTest.java | 2 +- .../org/apache/sis/parameter/TensorValuesTest.java | 2 +- .../referencing/AbstractReferenceSystemTest.java | 2 +- .../referencing/crs/DefaultEngineeringCRSTest.java | 2 +- .../referencing/crs/DefaultGeocentricCRSTest.java | 2 +- .../referencing/crs/DefaultGeographicCRSTest.java | 2 +- .../sis/referencing/crs/DefaultImageCRSTest.java | 2 +- .../referencing/crs/DefaultTemporalCRSTest.java | 2 +- .../referencing/crs/DefaultVerticalCRSTest.java | 2 +- .../cs/DefaultCoordinateSystemAxisTest.java | 2 +- .../referencing/cs/DirectionAlongMeridianTest.java | 2 +- .../referencing/datum/DefaultEllipsoidTest.java | 2 +- .../datum/DefaultGeodeticDatumTest.java | 2 +- .../datum/DefaultPrimeMeridianTest.java | 2 +- .../datum/DefaultVerticalDatumTest.java | 2 +- .../factory/GeodeticObjectFactoryTest.java | 2 +- .../DefaultConcatenatedOperationTest.java | 2 +- .../referencing/operation/DefaultFormulaTest.java | 2 +- .../operation/DefaultTransformationTest.java | 2 +- .../org/apache/sis/test/ReferencingAssert.java | 80 +++++++++++++++++++++- .../sis/test/suite/ReferencingTestSuite.java | 9 +++ 59 files changed, 119 insertions(+), 159 deletions(-) diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java index a56a050..2653d77 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java @@ -54,7 +54,6 @@ import org.apache.sis.metadata.iso.extent.DefaultSpatialTemporalExtent; import org.apache.sis.internal.system.DefaultFactories; import org.apache.sis.internal.system.OptionalDependency; import org.apache.sis.internal.system.Modules; -import org.apache.sis.io.wkt.FormattableObject; import org.apache.sis.util.Deprecable; @@ -332,37 +331,6 @@ public class ReferencingServices extends OptionalDependency { throw moduleNotFound(); } - /** - * Converts the given object in a {@code FormattableObject} instance. - * - * @param object the object to wrap. - * @return the given object converted to a {@code FormattableObject} instance. - * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath. - * - * @see org.apache.sis.referencing.AbstractIdentifiedObject#castOrCopy(IdentifiedObject) - * - * @since 0.4 - */ - public FormattableObject toFormattableObject(IdentifiedObject object) { - throw moduleNotFound(); - } - - /** - * Converts the given object in a {@code FormattableObject} instance. Callers should verify that the given - * object is not already an instance of {@code FormattableObject} before to invoke this method. This method - * returns {@code null} if it can not convert the object. - * - * @param object the object to wrap. - * @param internal {@code true} if the formatting convention is {@code Convention.INTERNAL}. - * @return the given object converted to a {@code FormattableObject} instance, or {@code null}. - * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath. - * - * @since 0.6 - */ - public FormattableObject toFormattableObject(MathTransform object, boolean internal) { - throw moduleNotFound(); - } - diff --git a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.txt b/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.txt deleted file mode 100644 index 1101ffb..0000000 --- a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -WKTFormat and some of its dependencies (GeodeticObjectParser and -MathTransformParser) can not be tested in "sis-metadata" module, -because they need the "sis-referencing" module at execution time. -Those test classes are added by the "sis-referencing" module. diff --git a/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java b/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java index 8f22c56..56a76c7 100644 --- a/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java @@ -27,10 +27,6 @@ import org.opengis.metadata.maintenance.Scope; import org.opengis.metadata.maintenance.ScopeCode; import org.opengis.metadata.content.FeatureTypeInfo; import org.opengis.metadata.content.FeatureCatalogueDescription; -import org.opengis.referencing.IdentifiedObject; -import org.apache.sis.io.wkt.Symbols; -import org.apache.sis.io.wkt.WKTFormat; -import org.apache.sis.io.wkt.Convention; import org.apache.sis.xml.Namespaces; import org.apache.sis.test.xml.DocumentComparator; import org.apache.sis.internal.xml.LegacyNamespaces; @@ -53,18 +49,6 @@ import org.opengis.metadata.citation.Responsibility; */ public strictfp class MetadataAssert extends Assert { /** - * The formatter to be used by {@link #assertWktEquals(String, Object)}. - * This formatter uses the {@code “…”} quotation marks instead of {@code "…"} - * for easier readability of {@link String} constants in Java code. - */ - private static final WKTFormat WKT_FORMAT = new WKTFormat(null, null); - static { - final Symbols s = new Symbols(Symbols.SQUARE_BRACKETS); - s.setPairedQuotes("“”", "\"\""); - WKT_FORMAT.setSymbols(s); - } - - /** * For subclass constructor only. */ protected MetadataAssert() { @@ -145,69 +129,6 @@ public strictfp class MetadataAssert extends Assert { } /** - * Asserts that the WKT 2 of the given object is equal to the expected one. - * This method expected the {@code “…”} quotation marks instead of {@code "…"} - * for easier readability of {@link String} constants in Java code. - * - * @param expected the expected text, or {@code null} if {@code object} is expected to be null. - * @param object the object to format in <cite>Well Known Text</cite> format, or {@code null}. - */ - public static void assertWktEquals(final String expected, final Object object) { - assertWktEquals(Convention.WKT2, expected, object); - } - - /** - * Asserts that the WKT of the given object according the given convention is equal to the expected one. - * This method expected the {@code “…”} quotation marks instead of {@code "…"} for easier readability of - * {@link String} constants in Java code. - * - * @param convention the WKT convention to use. - * @param expected the expected text, or {@code null} if {@code object} is expected to be null. - * @param object the object to format in <cite>Well Known Text</cite> format, or {@code null}. - */ - public static void assertWktEquals(final Convention convention, final String expected, final Object object) { - if (expected == null) { - assertNull(object); - } else { - assertNotNull(object); - final String wkt; - synchronized (WKT_FORMAT) { - WKT_FORMAT.setConvention(convention); - wkt = WKT_FORMAT.format(object); - } - assertMultilinesEquals((object instanceof IdentifiedObject) ? - ((IdentifiedObject) object).getName().getCode() : object.getClass().getSimpleName(), expected, wkt); - } - } - - /** - * Asserts that the WKT of the given object according the given convention is equal to the given regular expression. - * This method is like {@link #assertWktEquals(String, Object)}, but the use of regular expression allows some - * tolerance for example on numerical parameter values that may be subject to a limited form of rounding errors. - * - * @param convention the WKT convention to use. - * @param expected the expected regular expression, or {@code null} if {@code object} is expected to be null. - * @param object the object to format in <cite>Well Known Text</cite> format, or {@code null}. - * - * @since 0.6 - */ - public static void assertWktEqualsRegex(final Convention convention, final String expected, final Object object) { - if (expected == null) { - assertNull(object); - } else { - assertNotNull(object); - final String wkt; - synchronized (WKT_FORMAT) { - WKT_FORMAT.setConvention(convention); - wkt = WKT_FORMAT.format(object); - } - if (!wkt.matches(expected.replace("\n", System.lineSeparator()))) { - fail("WKT does not match the expected regular expression. The WKT that we got is:\n" + wkt); - } - } - } - - /** * Parses two XML trees as DOM documents, and compares the nodes. * The inputs given to this method can be any of the following types: * diff --git a/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java b/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java index bcd9d9e..014361a 100644 --- a/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java @@ -124,20 +124,12 @@ import org.junit.BeforeClass; org.apache.sis.metadata.iso.lineage.DefaultProcessStepTest.class, org.apache.sis.metadata.iso.constraint.DefaultLegalConstraintsTest.class, org.apache.sis.metadata.iso.DefaultIdentifierTest.class, - org.apache.sis.metadata.iso.ImmutableIdentifierTest.class, org.apache.sis.metadata.iso.DefaultMetadataTest.class, org.apache.sis.metadata.iso.CustomMetadataTest.class, org.apache.sis.metadata.iso.AllMetadataTest.class, org.apache.sis.metadata.iso.MarshallingTest.class, org.apache.sis.metadata.iso.APIVerifier.class, - org.apache.sis.io.wkt.ConventionTest.class, - org.apache.sis.io.wkt.SymbolsTest.class, - org.apache.sis.io.wkt.TransliteratorTest.class, - org.apache.sis.io.wkt.ColorsTest.class, - org.apache.sis.io.wkt.FormatterTest.class, - org.apache.sis.io.wkt.ElementTest.class, - org.apache.sis.internal.metadata.sql.SQLUtilitiesTest.class, org.apache.sis.internal.metadata.sql.TypeMapperTest.class, org.apache.sis.internal.metadata.sql.ScriptRunnerTest.class, diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ServicesForMetadata.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ServicesForMetadata.java index f5e455d..d44c5f1 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ServicesForMetadata.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ServicesForMetadata.java @@ -531,8 +531,7 @@ public final class ServicesForMetadata extends ReferencingServices { * @param object the object to wrap. * @return the given object converted to a {@code FormattableObject} instance. */ - @Override - public FormattableObject toFormattableObject(final IdentifiedObject object) { + public static FormattableObject toFormattableObject(final IdentifiedObject object) { return AbstractIdentifiedObject.castOrCopy(object); } @@ -547,8 +546,7 @@ public final class ServicesForMetadata extends ReferencingServices { * * @since 0.6 */ - @Override - public FormattableObject toFormattableObject(final MathTransform object, boolean internal) { + public static FormattableObject toFormattableObject(final MathTransform object, boolean internal) { Matrix matrix; final ParameterValueGroup parameters; if (internal && (matrix = MathTransforms.getMatrix(object)) != null) { diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/AbstractParser.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/AbstractParser.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/AbstractParser.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/AbstractParser.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Colors.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Colors.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Colors.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Colors.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Convention.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Convention.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Element.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Element.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/ElementKind.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/ElementKind.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/ElementKind.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/ElementKind.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/FormattableObject.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/FormattableObject.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/FormattableObject.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/FormattableObject.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Formatter.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Formatter.java similarity index 99% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Formatter.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Formatter.java index d17e2ff..b924553 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Formatter.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Formatter.java @@ -75,7 +75,7 @@ import org.apache.sis.internal.util.Constants; import org.apache.sis.internal.util.StandardDateFormat; import org.apache.sis.internal.simple.SimpleExtent; import org.apache.sis.internal.metadata.WKTKeywords; -import org.apache.sis.internal.metadata.ReferencingServices; +import org.apache.sis.internal.referencing.ServicesForMetadata; import org.apache.sis.internal.metadata.Resources; import org.apache.sis.measure.UnitFormat; import org.apache.sis.measure.Range; @@ -984,7 +984,7 @@ public class Formatter implements Localized { if (transform instanceof FormattableObject) { append((FormattableObject) transform); } else { - final FormattableObject object = ReferencingServices.getInstance() + final FormattableObject object = ServicesForMetadata .toFormattableObject(transform, convention == Convention.INTERNAL); if (object != null) { append(object); @@ -1549,7 +1549,7 @@ public class Formatter implements Localized { if (value instanceof FormattableObject) { append((FormattableObject) value); } else if (value instanceof IdentifiedObject) { - append(ReferencingServices.getInstance().toFormattableObject((IdentifiedObject) value)); + append(ServicesForMetadata.toFormattableObject((IdentifiedObject) value)); } else if (value instanceof MathTransform) { append((MathTransform) value); } else if (value instanceof Unit<?>) { diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordCase.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/KeywordCase.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordCase.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/KeywordCase.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordStyle.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/KeywordStyle.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordStyle.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/KeywordStyle.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/MathTransformParser.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/MathTransformParser.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/MathTransformParser.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/MathTransformParser.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Parser.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Parser.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Transliterator.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Transliterator.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Transliterator.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Transliterator.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/UnformattableObjectException.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/UnformattableObjectException.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/UnformattableObjectException.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/UnformattableObjectException.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/UnparsableObjectException.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/UnparsableObjectException.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/UnparsableObjectException.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/UnparsableObjectException.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTFormat.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTFormat.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Warnings.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Warnings.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Warnings.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Warnings.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/package-info.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/io/wkt/package-info.java rename to core/sis-referencing/src/main/java/org/apache/sis/io/wkt/package-info.java diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java b/core/sis-referencing/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java similarity index 100% rename from core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java rename to core/sis-referencing/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java diff --git a/core/sis-referencing/src/test/java/org/apache/sis/geometry/ArrayEnvelopeTest.java b/core/sis-referencing/src/test/java/org/apache/sis/geometry/ArrayEnvelopeTest.java index 4f77c3e..25d44e1 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/geometry/ArrayEnvelopeTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/geometry/ArrayEnvelopeTest.java @@ -21,7 +21,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/AffineTest.java b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/AffineTest.java index bb3a334..40a9921 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/AffineTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/AffineTest.java @@ -25,7 +25,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/LongitudeRotationTest.java b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/LongitudeRotationTest.java index 3b11e2a..b711a08 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/LongitudeRotationTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/LongitudeRotationTest.java @@ -26,7 +26,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ColorsTest.java b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/ColorsTest.java similarity index 100% rename from core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ColorsTest.java rename to core/sis-referencing/src/test/java/org/apache/sis/io/wkt/ColorsTest.java diff --git a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ConventionTest.java b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/ConventionTest.java similarity index 100% rename from core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ConventionTest.java rename to core/sis-referencing/src/test/java/org/apache/sis/io/wkt/ConventionTest.java diff --git a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ElementTest.java b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/ElementTest.java similarity index 100% rename from core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ElementTest.java rename to core/sis-referencing/src/test/java/org/apache/sis/io/wkt/ElementTest.java diff --git a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/FormatterTest.java b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/FormatterTest.java similarity index 98% rename from core/sis-metadata/src/test/java/org/apache/sis/io/wkt/FormatterTest.java rename to core/sis-referencing/src/test/java/org/apache/sis/io/wkt/FormatterTest.java index a314290..f70e0e8 100644 --- a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/FormatterTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/FormatterTest.java @@ -29,7 +29,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/SymbolsTest.java b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/SymbolsTest.java similarity index 100% rename from core/sis-metadata/src/test/java/org/apache/sis/io/wkt/SymbolsTest.java rename to core/sis-referencing/src/test/java/org/apache/sis/io/wkt/SymbolsTest.java diff --git a/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/TransliteratorTest.java b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/TransliteratorTest.java similarity index 100% rename from core/sis-metadata/src/test/java/org/apache/sis/io/wkt/TransliteratorTest.java rename to core/sis-referencing/src/test/java/org/apache/sis/io/wkt/TransliteratorTest.java diff --git a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/ImmutableIdentifierTest.java b/core/sis-referencing/src/test/java/org/apache/sis/metadata/iso/ImmutableIdentifierTest.java similarity index 98% rename from core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/ImmutableIdentifierTest.java rename to core/sis-referencing/src/test/java/org/apache/sis/metadata/iso/ImmutableIdentifierTest.java index 5952c47..6ec6251 100644 --- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/ImmutableIdentifierTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/metadata/iso/ImmutableIdentifierTest.java @@ -30,10 +30,9 @@ import org.apache.sis.io.wkt.Convention; import org.apache.sis.test.DependsOnMethod; import org.apache.sis.test.xml.TestCase; import org.opengis.test.Validators; -import org.apache.sis.test.DependsOn; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.opengis.metadata.Identifier.*; @@ -45,7 +44,6 @@ import static org.opengis.metadata.Identifier.*; * @since 0.3 * @module */ -@DependsOn(DefaultIdentifierTest.class) public final strictfp class ImmutableIdentifierTest extends TestCase { /** * Returns the properties map to be used in argument to test methods. diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java index 046c739..629f3d3 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java @@ -32,7 +32,7 @@ import org.junit.Test; import static org.opengis.test.Validators.*; import static java.util.Collections.singletonMap; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.opengis.referencing.IdentifiedObject.*; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorTest.java index d97be2a..8ec3dae 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorTest.java @@ -35,7 +35,7 @@ import org.apache.sis.test.TestCase; import org.junit.Test; import static org.opengis.test.Validators.*; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java index ba21073..caa4c5d 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java @@ -32,7 +32,7 @@ import org.junit.Test; import static java.lang.StrictMath.*; import static org.opengis.test.Validators.*; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java index ae167d2..a47d554 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java @@ -35,7 +35,7 @@ import org.junit.Test; import static java.util.Collections.singletonMap; import static org.opengis.test.Validators.validate; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.internal.util.Constants.NUM_ROW; import static org.apache.sis.internal.util.Constants.NUM_COL; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractReferenceSystemTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractReferenceSystemTest.java index 7cbcfa0..e378d7a 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractReferenceSystemTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractReferenceSystemTest.java @@ -35,7 +35,7 @@ import org.junit.Test; import static org.opengis.referencing.ReferenceSystem.*; import static org.apache.sis.test.Assert.*; -import static org.apache.sis.test.MetadataAssert.assertWktEquals; +import static org.apache.sis.test.ReferencingAssert.assertWktEquals; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java index 8b75811..e130975 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java @@ -29,7 +29,7 @@ import org.apache.sis.test.xml.TestCase; import org.apache.sis.xml.Namespaces; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeocentricCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeocentricCRSTest.java index 9a50c1e..66c289a 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeocentricCRSTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeocentricCRSTest.java @@ -30,7 +30,7 @@ import org.apache.sis.test.TestCase; import org.opengis.test.Validators; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeographicCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeographicCRSTest.java index 1859e12..36dec06 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeographicCRSTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultGeographicCRSTest.java @@ -29,7 +29,7 @@ import org.apache.sis.test.DependsOnMethod; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.test.TestUtilities.getSingleton; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java index 9cbee7f..65d7f1d 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java @@ -32,7 +32,7 @@ import org.apache.sis.test.xml.TestCase; import org.apache.sis.xml.Namespaces; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java index 9b07d48..b347b7e 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java @@ -25,7 +25,7 @@ import org.apache.sis.io.wkt.Convention; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.internal.util.StandardDateFormat.MILLISECONDS_PER_DAY; import static org.apache.sis.internal.util.StandardDateFormat.NANOS_PER_MILLISECOND; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultVerticalCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultVerticalCRSTest.java index e42bd87..f95a529 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultVerticalCRSTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultVerticalCRSTest.java @@ -21,7 +21,7 @@ import org.apache.sis.test.DependsOnMethod; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java index 5ce1c2c..9bd3343 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java @@ -28,7 +28,7 @@ import org.apache.sis.test.TestCase; import org.junit.Test; import static java.util.Collections.singletonMap; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.referencing.cs.HardCodedAxes.*; import static org.apache.sis.referencing.IdentifiedObjects.getProperties; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DirectionAlongMeridianTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DirectionAlongMeridianTest.java index aef101e..dabdbbe 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DirectionAlongMeridianTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DirectionAlongMeridianTest.java @@ -22,7 +22,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java index b0303a5..09a4b73 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java @@ -29,7 +29,7 @@ import org.apache.sis.test.DependsOnMethod; import org.junit.Test; import static java.lang.StrictMath.*; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java index c32647a..b6ac4fc 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java @@ -35,7 +35,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.TestStep; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.referencing.GeodeticObjectVerifier.*; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java index e5d5149..901a0bc 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java @@ -33,7 +33,7 @@ import org.apache.sis.test.DependsOn; import org.junit.Test; import static java.util.Collections.singletonMap; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.referencing.GeodeticObjectVerifier.*; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java index ccce077..34cd0cc 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java @@ -31,7 +31,7 @@ import org.apache.sis.test.xml.TestCase; import org.junit.Test; import static java.util.Collections.singletonMap; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.referencing.GeodeticObjectVerifier.*; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java index af54012..4fc04a0 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java @@ -54,7 +54,7 @@ import org.junit.runner.RunWith; import org.junit.Ignore; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java index bf2477f..a8de4ad 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java @@ -35,7 +35,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.xml.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; import static org.apache.sis.test.TestUtilities.getSingleton; diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultFormulaTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultFormulaTest.java index 9a9e524..fe6fa83 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultFormulaTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultFormulaTest.java @@ -20,7 +20,7 @@ import org.apache.sis.io.wkt.Convention; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultTransformationTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultTransformationTest.java index 55bb30e..1878fe9 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultTransformationTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultTransformationTest.java @@ -37,7 +37,7 @@ import org.apache.sis.test.DependsOn; import org.apache.sis.test.TestCase; import org.junit.Test; -import static org.apache.sis.test.MetadataAssert.*; +import static org.apache.sis.test.ReferencingAssert.*; /** diff --git a/core/sis-referencing/src/test/java/org/apache/sis/test/ReferencingAssert.java b/core/sis-referencing/src/test/java/org/apache/sis/test/ReferencingAssert.java index 6776155..007a2e3 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/test/ReferencingAssert.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/test/ReferencingAssert.java @@ -35,6 +35,9 @@ import org.opengis.referencing.cs.AxisDirection; import org.opengis.referencing.cs.CoordinateSystemAxis; import org.opengis.referencing.cs.RangeMeaning; import org.opengis.util.GenericName; +import org.apache.sis.io.wkt.Symbols; +import org.apache.sis.io.wkt.WKTFormat; +import org.apache.sis.io.wkt.Convention; import org.apache.sis.geometry.AbstractEnvelope; import org.apache.sis.geometry.Envelopes; import org.apache.sis.geometry.GeneralDirectPosition; @@ -52,12 +55,24 @@ import static java.lang.StrictMath.*; * from other modules and libraries. * * @author Martin Desruisseaux (Geomatys) - * @version 0.8 + * @version 1.0 * @since 0.3 * @module */ public strictfp class ReferencingAssert extends MetadataAssert { /** + * The formatter to be used by {@link #assertWktEquals(String, Object)}. + * This formatter uses the {@code “…”} quotation marks instead of {@code "…"} + * for easier readability of {@link String} constants in Java code. + */ + private static final WKTFormat WKT_FORMAT = new WKTFormat(null, null); + static { + final Symbols s = new Symbols(Symbols.SQUARE_BRACKETS); + s.setPairedQuotes("“”", "\"\""); + WKT_FORMAT.setSymbols(s); + } + + /** * For subclass constructor only. */ protected ReferencingAssert() { @@ -456,4 +471,67 @@ public strictfp class ReferencingAssert extends MetadataAssert { assertFalse("getMatrix().isIdentity()", ((LinearTransform) transform).getMatrix().isIdentity()); } } + + /** + * Asserts that the WKT 2 of the given object is equal to the expected one. + * This method expected the {@code “…”} quotation marks instead of {@code "…"} + * for easier readability of {@link String} constants in Java code. + * + * @param expected the expected text, or {@code null} if {@code object} is expected to be null. + * @param object the object to format in <cite>Well Known Text</cite> format, or {@code null}. + */ + public static void assertWktEquals(final String expected, final Object object) { + assertWktEquals(Convention.WKT2, expected, object); + } + + /** + * Asserts that the WKT of the given object according the given convention is equal to the expected one. + * This method expected the {@code “…”} quotation marks instead of {@code "…"} for easier readability of + * {@link String} constants in Java code. + * + * @param convention the WKT convention to use. + * @param expected the expected text, or {@code null} if {@code object} is expected to be null. + * @param object the object to format in <cite>Well Known Text</cite> format, or {@code null}. + */ + public static void assertWktEquals(final Convention convention, final String expected, final Object object) { + if (expected == null) { + assertNull(object); + } else { + assertNotNull(object); + final String wkt; + synchronized (WKT_FORMAT) { + WKT_FORMAT.setConvention(convention); + wkt = WKT_FORMAT.format(object); + } + assertMultilinesEquals((object instanceof IdentifiedObject) ? + ((IdentifiedObject) object).getName().getCode() : object.getClass().getSimpleName(), expected, wkt); + } + } + + /** + * Asserts that the WKT of the given object according the given convention is equal to the given regular expression. + * This method is like {@link #assertWktEquals(String, Object)}, but the use of regular expression allows some + * tolerance for example on numerical parameter values that may be subject to a limited form of rounding errors. + * + * @param convention the WKT convention to use. + * @param expected the expected regular expression, or {@code null} if {@code object} is expected to be null. + * @param object the object to format in <cite>Well Known Text</cite> format, or {@code null}. + * + * @since 0.6 + */ + public static void assertWktEqualsRegex(final Convention convention, final String expected, final Object object) { + if (expected == null) { + assertNull(object); + } else { + assertNotNull(object); + final String wkt; + synchronized (WKT_FORMAT) { + WKT_FORMAT.setConvention(convention); + wkt = WKT_FORMAT.format(object); + } + if (!wkt.matches(expected.replace("\n", System.lineSeparator()))) { + fail("WKT does not match the expected regular expression. The WKT that we got is:\n" + wkt); + } + } + } } diff --git a/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java b/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java index dec780f..aa46588 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java @@ -41,6 +41,15 @@ import org.junit.BeforeClass; org.apache.sis.internal.jaxb.referencing.CodeTest.class, org.apache.sis.internal.jaxb.referencing.SecondDefiningParameterTest.class, + // Well Known Text (WKT) base. + org.apache.sis.io.wkt.ConventionTest.class, + org.apache.sis.io.wkt.SymbolsTest.class, + org.apache.sis.io.wkt.TransliteratorTest.class, + org.apache.sis.io.wkt.ColorsTest.class, + org.apache.sis.io.wkt.FormatterTest.class, + org.apache.sis.io.wkt.ElementTest.class, + org.apache.sis.metadata.iso.ImmutableIdentifierTest.class, + // Identification of objects, needed by large parts of sis-referencing. org.apache.sis.referencing.NamedIdentifierTest.class, org.apache.sis.referencing.IdentifiedObjectsTest.class,