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),