You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/12/07 19:17:46 UTC

[commons-geometry] 03/05: adding test coverage for VectorXD.Unit.from(VectorXD) methods; using better assertions for ConvexSubPlane and SubPlane toString() unit tests

This is an automated email from the ASF dual-hosted git repository.

erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-geometry.git

commit 4551ac261699d26b9d9c263acb60870b7410be93
Author: Matt Juntunen <ma...@hotmail.com>
AuthorDate: Fri Dec 6 21:40:50 2019 -0500

    adding test coverage for VectorXD.Unit.from(VectorXD) methods; using better assertions for ConvexSubPlane and SubPlane toString() unit tests
---
 .../geometry/euclidean/threed/AbstractSubPlane.java      |  3 ++-
 .../commons/geometry/euclidean/oned/Vector1DTest.java    | 15 +++++++++++++--
 .../geometry/euclidean/threed/ConvexSubPlaneTest.java    |  4 +++-
 .../commons/geometry/euclidean/threed/SubPlaneTest.java  |  5 +++--
 .../commons/geometry/euclidean/threed/Vector3DTest.java  | 16 ++++++++++++++--
 .../commons/geometry/euclidean/twod/Vector2DTest.java    | 16 ++++++++++++++--
 6 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java
index c1647f0..cea56a6 100644
--- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java
+++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/AbstractSubPlane.java
@@ -80,7 +80,8 @@ abstract class AbstractSubPlane<R extends HyperplaneBoundedRegion<Vector2D>>
             .append("[plane= ")
             .append(getPlane())
             .append(", subspaceRegion= ")
-            .append(getSubspaceRegion());
+            .append(getSubspaceRegion())
+            .append(']');
 
 
         return sb.toString();
diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/oned/Vector1DTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/oned/Vector1DTest.java
index 393fce4..3df8825 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/oned/Vector1DTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/oned/Vector1DTest.java
@@ -652,14 +652,25 @@ public class Vector1DTest {
     }
 
     @Test
-    public void testNormalize_static() {
+    public void testUnitFrom_coordinates() {
         // act/assert
         checkVector(Vector1D.Unit.from(2.0), 1);
         checkVector(Vector1D.Unit.from(-4.0), -1);
     }
 
     @Test
-    public void testNormalize_static_illegalNorm() {
+    public void testUnitFrom_vector() {
+        // arrange
+        Vector1D vec = Vector1D.of(2);
+        Vector1D unitVec = Vector1D.Unit.from(2);
+
+        // act/assert
+        checkVector(Vector1D.Unit.from(vec), 1);
+        Assert.assertSame(unitVec, Vector1D.Unit.from(unitVec));
+    }
+
+    @Test
+    public void testUnitFrom_illegalNorm() {
         GeometryTestUtils.assertThrows(() -> Vector1D.Unit.from(0.0),
                 IllegalNormException.class);
         GeometryTestUtils.assertThrows(() -> Vector1D.Unit.from(Double.NaN),
diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java
index eb8c11e..a3ff41c 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.apache.commons.numbers.angle.PlaneAngleRadians;
+import org.apache.commons.geometry.core.GeometryTestUtils;
 import org.apache.commons.geometry.core.RegionLocation;
 import org.apache.commons.geometry.core.Transform;
 import org.apache.commons.geometry.core.partitioning.Split;
@@ -610,7 +611,8 @@ public class ConvexSubPlaneTest {
         String str = sp.toString();
 
         // assert
-        Assert.assertTrue(str.contains("plane=") && str.contains("subspaceRegion="));
+        GeometryTestUtils.assertContains("plane= Plane[", str);
+        GeometryTestUtils.assertContains("subspaceRegion= ConvexArea[", str);
     }
 
     private static void checkPlane(Plane plane, Vector3D origin, Vector3D u, Vector3D v) {
diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java
index 075d271..1ca6474 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java
@@ -19,7 +19,6 @@ package org.apache.commons.geometry.euclidean.threed;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.commons.numbers.angle.PlaneAngleRadians;
 import org.apache.commons.geometry.core.GeometryTestUtils;
 import org.apache.commons.geometry.core.RegionLocation;
 import org.apache.commons.geometry.core.Transform;
@@ -38,6 +37,7 @@ import org.apache.commons.geometry.euclidean.twod.ConvexArea;
 import org.apache.commons.geometry.euclidean.twod.Line;
 import org.apache.commons.geometry.euclidean.twod.RegionBSPTree2D;
 import org.apache.commons.geometry.euclidean.twod.Vector2D;
+import org.apache.commons.numbers.angle.PlaneAngleRadians;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -402,7 +402,8 @@ public class SubPlaneTest {
         String str = sp.toString();
 
         // assert
-        Assert.assertTrue(str.contains("plane=") && str.contains("subspaceRegion="));
+        GeometryTestUtils.assertContains("plane= Plane[", str);
+        GeometryTestUtils.assertContains("subspaceRegion= RegionBSPTree2D[", str);
     }
 
     @Test
diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java
index 23e2e75..b163f78 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/Vector3DTest.java
@@ -1177,7 +1177,7 @@ public class Vector3DTest {
     }
 
     @Test
-    public void testNormalize_static() {
+    public void testUnitFrom_coordinates() {
         // arrange
         double invSqrt3 = 1.0 / Math.sqrt(3.0);
 
@@ -1187,7 +1187,19 @@ public class Vector3DTest {
     }
 
     @Test
-    public void testNormalize_static_illegalNorm() {
+    public void testUnitFrom_vector() {
+        // arrange
+        double invSqrt3 = 1.0 / Math.sqrt(3.0);
+        Vector3D vec = Vector3D.of(2.0, -2.0, 2.0);
+        Vector3D.Unit unitVec = Vector3D.Unit.from(2.0, -2.0, 2.0);
+
+        // act/assert
+        checkVector(Vector3D.Unit.from(vec), invSqrt3, -invSqrt3, invSqrt3);
+        Assert.assertSame(unitVec, Vector3D.Unit.from(unitVec));
+    }
+
+    @Test
+    public void testUnitFrom_static_illegalNorm() {
         GeometryTestUtils.assertThrows(() -> Vector3D.Unit.from(0.0, 0.0, 0.0),
                 IllegalNormException.class);
         GeometryTestUtils.assertThrows(() -> Vector3D.Unit.from(Double.NaN, 1.0, 1.0),
diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/Vector2DTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/Vector2DTest.java
index e61326b..1e76c86 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/Vector2DTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/twod/Vector2DTest.java
@@ -989,7 +989,7 @@ public class Vector2DTest {
     }
 
     @Test
-    public void testNormalize_static() {
+    public void testUnitFrom_coordinates() {
         // arrange
         double invSqrt2 = 1.0 / Math.sqrt(2.0);
 
@@ -999,7 +999,19 @@ public class Vector2DTest {
     }
 
     @Test
-    public void testNormalize_static_illegalNorm() {
+    public void testUnitFrom_vector() {
+        // arrange
+        double invSqrt2 = 1.0 / Math.sqrt(2.0);
+        Vector2D vec = Vector2D.of(2.0, -2.0);
+        Vector2D.Unit unitVec = Vector2D.Unit.from(2.0, -2.0);
+
+        // act/assert
+        checkVector(Vector2D.Unit.from(vec), invSqrt2, -invSqrt2);
+        Assert.assertSame(unitVec, Vector2D.Unit.from(unitVec));
+    }
+
+    @Test
+    public void testUnitFrom_illegalNorm() {
         GeometryTestUtils.assertThrows(() -> Vector2D.Unit.from(0.0, 0.0),
                 IllegalNormException.class);
         GeometryTestUtils.assertThrows(() -> Vector2D.Unit.from(Double.NaN, 1.0),