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/09/26 12:54:29 UTC
[commons-geometry] 02/07: Add 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 1f52ccfbe29d5b1149ef9d03bd94ece8e5b667fa
Author: Steven Fontaine <si...@gmail.com>
AuthorDate: Tue Sep 24 16:48:17 2019 -0500
Add unit tests
---
.../geometry/euclidean/oned/Vector1DTest.java | 31 ++++++++++++++++++++++
.../geometry/euclidean/threed/Vector3DTest.java | 29 ++++++++++++++++++++
.../geometry/euclidean/twod/Vector2DTest.java | 31 ++++++++++++++++++++++
3 files changed, 91 insertions(+)
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 e3b015d..377b1fd 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
@@ -113,6 +113,16 @@ public class Vector1DTest {
}
@Test
+ public void testNorm_unitVectors()
+ {
+ // arrange
+ Vector1D v = Vector1D.of(2.0).normalize();
+
+ // act/assert
+ Assert.assertEquals(1.0, v.norm(), TEST_TOLERANCE);
+ }
+
+ @Test
public void testNormSq() {
// act/assert
Assert.assertEquals(0.0, Vector1D.of(0).normSq(), TEST_TOLERANCE);
@@ -121,6 +131,16 @@ public class Vector1DTest {
}
@Test
+ public void testNormSq_unitVectors()
+ {
+ // arrange
+ Vector1D v = Vector1D.of(2.0).normalize();
+
+ // act/assert
+ Assert.assertEquals(1.0, v.normSq(), TEST_TOLERANCE);
+ }
+
+ @Test
public void testWithNorm() {
// act/assert
checkVector(Vector1D.ONE.withNorm(0.0), 0.0);
@@ -262,6 +282,17 @@ public class Vector1DTest {
}
@Test
+ public void testNegate_unitVectors() {
+ // arrange
+ Vector1D v1 = Vector1D.of(0.1).normalize();
+ Vector1D v2 = Vector1D.of(-0.1).normalize();
+
+ // act/assert
+ checkVector(v1.negate(), -1);
+ checkVector(v2.negate(), 1);
+ }
+
+ @Test
public void testScalarMultiply() {
// act/assert
checkVector(Vector1D.of(1).multiply(3), 3);
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 0bb73ab..b8bc4bd 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
@@ -159,6 +159,15 @@ public class Vector3DTest {
Assert.assertEquals(Math.sqrt(29), Vector3D.of(2, 3, 4).norm(), EPS);
Assert.assertEquals(Math.sqrt(29), Vector3D.of(-2, -3, -4).norm(), EPS);
}
+
+ @Test
+ public void testNorm_unitVectors() {
+ // arrange
+ Vector3D v = Vector3D.of(1.0, 2.0, 3.0).normalize();
+
+ // act/assert
+ Assert.assertEquals(1.0, v.norm(), EPS);
+ }
@Test
public void testNormSq() {
@@ -167,6 +176,15 @@ public class Vector3DTest {
Assert.assertEquals(29, Vector3D.of(2, 3, 4).normSq(), EPS);
Assert.assertEquals(29, Vector3D.of(-2, -3, -4).normSq(), EPS);
}
+
+ @Test
+ public void testNormSq_unitVectors() {
+ // arrange
+ Vector3D v = Vector3D.of(1.0, 2.0, 3.0).normalize();
+
+ // act/assert
+ Assert.assertEquals(1.0, v.normSq(), EPS);
+ }
@Test
public void testWithNorm() {
@@ -314,6 +332,17 @@ public class Vector3DTest {
}
@Test
+ public void testNegate_unitVectors() {
+ // arrange
+ Vector3D v1 = Vector3D.of(1.0, 2.0, 3.0).normalize();
+ Vector3D v2 = Vector3D.of(-2.0, -4.0, -3.0).normalize();
+
+ // act/assert
+ checkVector(v1.negate(), -1.0 / Math.sqrt(14.0), -Math.sqrt(2.0 / 7.0), -3.0 / Math.sqrt(14.0));
+ checkVector(v2.negate(), 2.0 / Math.sqrt(29.0), 4.0 / Math.sqrt(29.0), 3.0 / Math.sqrt(29.0));
+ }
+
+ @Test
public void testNormalize() {
// arrange
double invSqrt3 = 1 / Math.sqrt(3);
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 d27e615..2e6ec80 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
@@ -144,6 +144,15 @@ public class Vector2DTest {
}
@Test
+ public void testNorm_unitVectors() {
+ // arrange
+ Vector2D v = Vector2D.of(2.0, 3.0).normalize();
+
+ // act/assert
+ Assert.assertEquals(1.0, v.norm(), EPS);
+ }
+
+ @Test
public void testNormSq() {
// act/assert
Assert.assertEquals(0.0, Vector2D.of(0, 0).normSq(), EPS);
@@ -157,6 +166,15 @@ public class Vector2DTest {
}
@Test
+ public void testNormSq_unitVectors() {
+ // arrange
+ Vector2D v = Vector2D.of(2.0, 3.0).normalize();
+
+ // act/assert
+ Assert.assertEquals(1.0, v.normSq(), EPS);
+ }
+
+ @Test
public void testWithNorm() {
// act/assert
checkVector(Vector2D.of(3, 4).withNorm(1.0), 0.6, 0.8);
@@ -309,6 +327,19 @@ public class Vector2DTest {
}
@Test
+ public void testNegate_unitVectors() {
+ // arrange
+ Vector2D v1 = Vector2D.of(1.0, 1.0).normalize();
+ Vector2D v2 = Vector2D.of(-1.0, -2.0).normalize();
+ Vector2D v3 = Vector2D.of(2.0, -3.0).normalize();
+
+ // act/assert
+ checkVector(v1.negate(), -1.0 / Math.sqrt(2.0), -1.0 / Math.sqrt(2.0));
+ checkVector(v2.negate(), 1.0 / Math.sqrt(5.0), 2.0 / Math.sqrt(5.0));
+ checkVector(v3.negate(), -2.0 / Math.sqrt(13.0), 3.0 / Math.sqrt(13.0));
+ }
+
+ @Test
public void testScalarMultiply() {
// act/assert
checkVector(Vector2D.of(1, 2).multiply(0), 0, 0);