@SuppressWarnings("unlikely-arg-type") @Test public void testEquals() throws Exception { Random random = new Random(621541L); T tuple = createRandomTuple(random); assertFalse(tuple.equals(createEmptyTuple())); assertFalse(tuple.equals(null)); assertFalse(tuple.equals(new double[5])); double x = tuple.getX(); double y = tuple.getY(); double z = tuple.getZ(); assertTrue(tuple.equals(createTuple(x, y, z))); assertFalse(tuple.equals(createTuple(x + getEpsilon(), y, z))); assertFalse(tuple.equals(createTuple(x - getEpsilon(), y, z))); assertFalse(tuple.equals(createTuple(x, y + getEpsilon(), z))); assertFalse(tuple.equals(createTuple(x, y - getEpsilon(), z))); assertFalse(tuple.equals(createTuple(x, y, z + getEpsilon()))); assertFalse(tuple.equals(createTuple(x, y, z - getEpsilon()))); } }
@Test public void testEpsilonEquals() throws Exception { Random random = new Random(621541L); double epsilon = random.nextDouble(); T tuple = createRandomTuple(random); double x = tuple.getX(); double y = tuple.getY(); double z = tuple.getZ(); assertTrue(tuple.epsilonEquals(createTuple(x + 0.999 * epsilon, y, z), epsilon)); assertTrue(tuple.epsilonEquals(createTuple(x - 0.999 * epsilon, y, z), epsilon)); assertTrue(tuple.epsilonEquals(createTuple(x, y + 0.999 * epsilon, z), epsilon)); assertTrue(tuple.epsilonEquals(createTuple(x, y - 0.999 * epsilon, z), epsilon)); assertTrue(tuple.epsilonEquals(createTuple(x, y, z + 0.999 * epsilon), epsilon)); assertTrue(tuple.epsilonEquals(createTuple(x, y, z - 0.999 * epsilon), epsilon)); assertFalse(tuple.epsilonEquals(createTuple(x + 1.001 * epsilon, y, z), epsilon)); assertFalse(tuple.epsilonEquals(createTuple(x - 1.001 * epsilon, y, z), epsilon)); assertFalse(tuple.epsilonEquals(createTuple(x, y + 1.001 * epsilon, z), epsilon)); assertFalse(tuple.epsilonEquals(createTuple(x, y - 1.001 * epsilon, z), epsilon)); assertFalse(tuple.epsilonEquals(createTuple(x, y, z + 1.001 * epsilon), epsilon)); assertFalse(tuple.epsilonEquals(createTuple(x, y, z - 1.001 * epsilon), epsilon)); }
@Test public void testContainsNaN() throws Exception { assertFalse(createTuple(0.0, 0.0, 0.0).containsNaN()); assertTrue(createTuple(Double.NaN, 0.0, 0.0).containsNaN()); assertTrue(createTuple(0.0, Double.NaN, 0.0).containsNaN()); assertTrue(createTuple(0.0, 0.0, Double.NaN).containsNaN()); }
T tuple = createEmptyTuple(); double y = random.nextDouble(); double z = random.nextDouble(); tuple = createTuple(x, y, z); assertEquals(tuple.getX(), x, getEpsilon()); assertEquals(tuple.getY(), y, getEpsilon()); assertEquals(tuple.getZ(), z, getEpsilon()); float y = random.nextFloat(); float z = random.nextFloat(); tuple = createTuple(x, y, z); assertEquals(tuple.getX32(), x, getEpsilon()); assertEquals(tuple.getY32(), y, getEpsilon()); assertEquals(tuple.getZ32(), z, getEpsilon()); double y = random.nextDouble(); double z = random.nextDouble(); tuple = createTuple(x, y, z); assertEquals(tuple.getElement(0), x, getEpsilon()); assertEquals(tuple.getElement(1), y, getEpsilon()); assertEquals(tuple.getElement(2), z, getEpsilon()); float y = random.nextFloat(); float z = random.nextFloat(); tuple = createTuple(x, y, z);