@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())));
}
}