Author: luc Date: Mon Aug 15 18:20:47 2011 New Revision: 1157933 URL: http://svn.apache.org/viewvc?rev=1157933&view=rev Log: new tests
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threed/LineTest.java Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threed/LineTest.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threed/LineTest.java?rev=1157933&r1=1157932&r2=1157933&view=diff ============================================================================== --- commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threed/LineTest.java (original) +++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/geometry/euclidean/threed/LineTest.java Mon Aug 15 18:20:47 2011 @@ -70,6 +70,61 @@ public class LineTest { Assert.assertEquals(0.0, l.distance(new Line(new Vector3D(0, -4, -4), new Vector3D(0, -1, -1))), 1.0e-10); + Assert.assertEquals(0.0, + l.distance(new Line(new Vector3D(0, -4, -4), new Vector3D(0, 1, 0))), + 1.0e-10); + Assert.assertEquals(0.0, + l.distance(new Line(new Vector3D(0, -4, -4), new Vector3D(1, 0, 0))), + 1.0e-10); + Assert.assertEquals(FastMath.sqrt(8), + l.distance(new Line(new Vector3D(0, -4, 0), new Vector3D(1, 0, 0))), + 1.0e-10); + } + + @Test + public void testClosest() { + Line l = new Line(new Vector3D(0, 1, 1), new Vector3D(0, 1, 1)); + Assert.assertEquals(0.0, + l.closestPoint(new Line(new Vector3D(1, 0, 1), Vector3D.PLUS_K)).distance(new Vector3D(0, 0, 0)), + 1.0e-10); + Assert.assertEquals(0.5, + l.closestPoint(new Line(new Vector3D(-0.5, 0, 0), new Vector3D(0, -1, -1))).distance(new Vector3D(-0.5, 0, 0)), + 1.0e-10); + Assert.assertEquals(0.0, + l.closestPoint(l).distance(new Vector3D(0, 0, 0)), + 1.0e-10); + Assert.assertEquals(0.0, + l.closestPoint(new Line(new Vector3D(0, -4, -4), new Vector3D(0, -1, -1))).distance(new Vector3D(0, 0, 0)), + 1.0e-10); + Assert.assertEquals(0.0, + l.closestPoint(new Line(new Vector3D(0, -4, -4), new Vector3D(0, 1, 0))).distance(new Vector3D(0, -4, -4)), + 1.0e-10); + Assert.assertEquals(0.0, + l.closestPoint(new Line(new Vector3D(0, -4, -4), new Vector3D(1, 0, 0))).distance(new Vector3D(0, -4, -4)), + 1.0e-10); + Assert.assertEquals(0.0, + l.closestPoint(new Line(new Vector3D(0, -4, 0), new Vector3D(1, 0, 0))).distance(new Vector3D(0, -2, -2)), + 1.0e-10); + } + + @Test + public void testIntersection() { + Line l = new Line(new Vector3D(0, 1, 1), new Vector3D(0, 1, 1)); + Assert.assertNull(l.intersection(new Line(new Vector3D(1, 0, 1), Vector3D.PLUS_K))); + Assert.assertNull(l.intersection(new Line(new Vector3D(-0.5, 0, 0), new Vector3D(0, -1, -1)))); + Assert.assertEquals(0.0, + l.intersection(l).distance(new Vector3D(0, 0, 0)), + 1.0e-10); + Assert.assertEquals(0.0, + l.intersection(new Line(new Vector3D(0, -4, -4), new Vector3D(0, -1, -1))).distance(new Vector3D(0, 0, 0)), + 1.0e-10); + Assert.assertEquals(0.0, + l.intersection(new Line(new Vector3D(0, -4, -4), new Vector3D(0, 1, 0))).distance(new Vector3D(0, -4, -4)), + 1.0e-10); + Assert.assertEquals(0.0, + l.intersection(new Line(new Vector3D(0, -4, -4), new Vector3D(1, 0, 0))).distance(new Vector3D(0, -4, -4)), + 1.0e-10); + Assert.assertNull(l.intersection(new Line(new Vector3D(0, -4, 0), new Vector3D(1, 0, 0)))); } }