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
The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
new 8f1fc38 Add test cases for `GeneralEnvelope.get/setTimeRange(…)`.
8f1fc38 is described below
commit 8f1fc38d8fad47c1b0f0aaf6de098101952094f4
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Tue Mar 16 12:39:25 2021 +0100
Add test cases for `GeneralEnvelope.get/setTimeRange(…)`.
---
.../org/apache/sis/geometry/EnvelopesTest.java | 19 +++++++++++++++-
.../apache/sis/geometry/GeneralEnvelopeTest.java | 26 ++++++++++++++++++++--
2 files changed, 42 insertions(+), 3 deletions(-)
diff --git
a/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
b/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
index 097192f..0969505 100644
---
a/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
+++
b/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
@@ -16,8 +16,10 @@
*/
package org.apache.sis.geometry;
+import java.time.Instant;
import java.util.List;
import java.util.Collections;
+import org.apache.sis.measure.Range;
import org.opengis.geometry.Envelope;
import org.opengis.util.FactoryException;
import org.opengis.referencing.crs.SingleCRS;
@@ -45,7 +47,7 @@ import static org.opengis.test.Validators.validate;
* This class inherits the test methods defined in {@link TransformTestCase}.
*
* @author Martin Desruisseaux (IRD, Geomatys)
- * @version 1.0
+ * @version 1.1
* @since 0.3
* @module
*/
@@ -285,4 +287,19 @@ public final strictfp class EnvelopesTest extends
TransformTestCase<GeneralEnvel
assertEnvelopeEquals(expected, env);
assertNull("crs.components", env.getCoordinateReferenceSystem());
}
+
+ /**
+ * Tests {@link Envelopes#toTimeRange(Envelope)}.
+ *
+ * @see GeneralEnvelopeTest#testTimeRange()
+ */
+ @Test
+ public void testToTimeRange() {
+ final GeneralEnvelope envelope = new
GeneralEnvelope(HardCodedCRS.WGS84_3D_TIME);
+ envelope.setToNaN();
+ envelope.setRange(2, 58840, 59000.75);
+ final Range<Instant> range = Envelopes.toTimeRange(envelope).get();
+ assertEquals(Instant.parse("2019-12-23T00:00:00Z"),
range.getMinValue());
+ assertEquals(Instant.parse("2020-05-31T18:00:00Z"),
range.getMaxValue());
+ }
}
diff --git
a/core/sis-referencing/src/test/java/org/apache/sis/geometry/GeneralEnvelopeTest.java
b/core/sis-referencing/src/test/java/org/apache/sis/geometry/GeneralEnvelopeTest.java
index d5cfba2..0756e05 100644
---
a/core/sis-referencing/src/test/java/org/apache/sis/geometry/GeneralEnvelopeTest.java
+++
b/core/sis-referencing/src/test/java/org/apache/sis/geometry/GeneralEnvelopeTest.java
@@ -16,20 +16,22 @@
*/
package org.apache.sis.geometry;
+import java.time.Instant;
import org.opengis.geometry.Envelope;
import org.opengis.geometry.DirectPosition;
+import org.apache.sis.measure.Range;
import org.apache.sis.internal.metadata.AxisNames;
import org.apache.sis.math.MathFunctions;
import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.apache.sis.test.DependsOnMethod;
+import org.apache.sis.referencing.crs.HardCodedCRS;
import org.junit.Test;
import static java.lang.Double.NaN;
import static org.opengis.test.Validators.*;
import static org.apache.sis.test.ReferencingAssert.*;
import static org.apache.sis.geometry.AbstractEnvelopeTest.WGS84;
-import static org.apache.sis.referencing.crs.HardCodedCRS.GEOID_ZXY;
/**
@@ -651,13 +653,33 @@ public strictfp class GeneralEnvelopeTest extends
TestCase {
@Test
public void testHorizontal() {
GeneralEnvelope envelope = new GeneralEnvelope(new double[] {4, 5,
-8}, new double[] {8, 7, -3});
- envelope.setCoordinateReferenceSystem(GEOID_ZXY);
+ envelope.setCoordinateReferenceSystem(HardCodedCRS.GEOID_ZXY);
envelope = envelope.horizontal();
assertEnvelopeEquals(envelope, 5, -8, 7, -3);
assertSame(WGS84, envelope.getCoordinateReferenceSystem());
}
/**
+ * Tests {@link GeneralEnvelope#getTimeRange()} and {@link
GeneralEnvelope#setTimeRange(Instant, Instant)}.
+ * The temporal coordinates in this test are days elapsed since November
17, 1858 at 00:00 UTC.
+ */
+ @Test
+ public void testTimeRange() {
+ final GeneralEnvelope envelope = new
GeneralEnvelope(HardCodedCRS.WGS84_3D_TIME);
+ envelope.setRange(0, -20, 25);
+ envelope.setRange(1, -30, 12);
+ envelope.setRange(2, 58840, 59000.75);
+ final Range<Instant> range = envelope.getTimeRange().get();
+ assertEquals(Instant.parse("2019-12-23T00:00:00Z"),
range.getMinValue());
+ assertEquals(Instant.parse("2020-05-31T18:00:00Z"),
range.getMaxValue());
+
+ envelope.setTimeRange(Instant.parse("2015-04-10T06:00:00Z"),
+ Instant.parse("2018-12-29T12:00:00Z"));
+ assertArrayEquals(new double[] {-20, -30, 57122.25},
envelope.getLowerCorner().getCoordinate(), STRICT);
+ assertArrayEquals(new double[] { 25, 12, 58481.50},
envelope.getUpperCorner().getCoordinate(), STRICT);
+ }
+
+ /**
* Tests the {@link GeneralEnvelope#toString()} method.
*/
@Test