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 <[email protected]> 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);
