@Test public void testValid() { final Ray3 ray1 = new Ray3(new Vector3(0, 0, 0), new Vector3(0, 0, 1)); final Ray3 ray2 = new Ray3(new Vector3(Double.POSITIVE_INFINITY, 0, 0), new Vector3(0, 0, 1)); final Ray3 ray3 = new Ray3(new Vector3(0, 0, 0), new Vector3(Double.POSITIVE_INFINITY, 0, 1)); assertTrue(Ray3.isValid(ray1)); assertFalse(Ray3.isValid(ray2)); assertFalse(Ray3.isValid(ray3)); assertFalse(Ray3.isValid(null)); // couple if equals validity tests assertEquals(ray1, ray1); assertFalse(ray1.equals(null)); assertFalse(ray1.equals(new Vector3())); // throw in a couple pool accesses for coverage final Ray3 ray4 = Ray3.fetchTempInstance(); ray4.set(ray1); assertEquals(ray1, ray4); assertNotSame(ray1, ray4); Ray3.releaseTempInstance(ray4); // cover more of equals assertFalse(ray1.equals(new Ray3(Vector3.ZERO, Vector3.NEG_UNIT_X))); }
@Test public void testData() { final Ray3 ray = new Ray3(); assertEquals(Vector3.UNIT_Z, ray.getDirection()); assertEquals(Vector3.ZERO, ray.getOrigin()); ray.setDirection(Vector3.NEG_UNIT_X); assertEquals(Vector3.NEG_UNIT_X, ray.getDirection()); ray.setOrigin(Vector3.ONE); assertEquals(Vector3.ONE, ray.getOrigin()); final Ray3 ray2 = new Ray3(ray); assertEquals(Vector3.NEG_UNIT_X, ray2.getDirection()); assertEquals(Vector3.ONE, ray2.getOrigin()); ray.set(new Ray3()); assertEquals(Vector3.UNIT_Z, ray.getDirection()); assertEquals(Vector3.ZERO, ray.getOrigin()); }