@Test
public void testReflect() {

  final Plane plane1 = new Plane(Vector3.UNIT_X, 5.0);
  assertEquals(new Vector3(), plane1.reflectVector(new Vector3(), new Vector3()));
  assertEquals(new Vector3(-1, 0, 0), plane1.reflectVector(new Vector3(1, 0, 0), null));
  assertEquals(new Vector3(-1, 1, 1).normalizeLocal(),
      plane1.reflectVector(new Vector3(1, 1, 1).normalizeLocal(), null));
  assertEquals(new Vector3(-3, 2, -1).normalizeLocal(),
      plane1.reflectVector(new Vector3(3, 2, -1).normalizeLocal(), null));
  final Plane plane2 = new Plane(Vector3.UNIT_Z, 1.0);
  assertEquals(new Vector3(), plane2.reflectVector(new Vector3(), new Vector3()));
  assertEquals(new Vector3(0, 0, -1), plane2.reflectVector(new Vector3(0, 0, 1), null));
  assertEquals(new Vector3(1, 1, -1).normalizeLocal(),
      plane2.reflectVector(new Vector3(1, 1, 1).normalizeLocal(), null));
  assertEquals(new Vector3(3, 2, 1).normalizeLocal(),
      plane2.reflectVector(new Vector3(3, 2, -1).normalizeLocal(), null));
}