@Test public void testSetToNaN() throws Exception { Random random = new Random(45L); QuaternionBasedTransform transform = EuclidCoreRandomTools.nextQuaternionBasedTransform(random); assertFalse(Double.isNaN(transform.getQuaternion().getX())); assertFalse(Double.isNaN(transform.getQuaternion().getY())); assertFalse(Double.isNaN(transform.getQuaternion().getZ())); assertFalse(Double.isNaN(transform.getQuaternion().getS())); assertFalse(Double.isNaN(transform.getTranslationVector().getX())); assertFalse(Double.isNaN(transform.getTranslationVector().getY())); assertFalse(Double.isNaN(transform.getTranslationVector().getZ())); transform.setToNaN(); EuclidCoreTestTools.assertTuple4DContainsOnlyNaN(transform.getQuaternion()); EuclidCoreTestTools.assertTuple3DContainsOnlyNaN(transform.getTranslationVector()); transform.setToZero(); EuclidCoreTestTools.assertTuple4DEquals(new Quaternion(), transform.getQuaternion(), EPS); EuclidCoreTestTools.assertTuple3DEquals(new Vector3D(), transform.getTranslationVector(), EPS); transform.setRotationToNaN(); EuclidCoreTestTools.assertTuple4DContainsOnlyNaN(transform.getQuaternion()); EuclidCoreTestTools.assertTuple3DEquals(new Vector3D(), transform.getTranslationVector(), EPS); transform.setToZero(); transform.setTranslationToNaN(); EuclidCoreTestTools.assertTuple4DEquals(new Quaternion(), transform.getQuaternion(), EPS); EuclidCoreTestTools.assertTuple3DContainsOnlyNaN(transform.getTranslationVector()); }