@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));
assertEquals(ray1, ray1);
assertFalse(ray1.equals(null));
assertFalse(ray1.equals(new Vector3()));
final Ray3 ray4 = Ray3.fetchTempInstance();
ray4.set(ray1);
assertEquals(ray1, ray4);
assertNotSame(ray1, ray4);
Ray3.releaseTempInstance(ray4);
assertFalse(ray1.equals(new Ray3(Vector3.ZERO, Vector3.NEG_UNIT_X)));
}