EuclidCoreTestTools.assertTuple2DEquals(new Point2D(0.0, 0.0), polygon.orthogonalProjectionCopy(point1), EPSILON);
assertNull(polygon.orthogonalProjectionCopy(point2));
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(-1.0, -1.0), polygon.orthogonalProjectionCopy(point3), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(-0.9, -1.0), polygon.orthogonalProjectionCopy(point4), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(-1.0, -1.0), polygon.orthogonalProjectionCopy(point5), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(1.0, -1.0), polygon.orthogonalProjectionCopy(point6), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(1.0, -1.0), polygon.orthogonalProjectionCopy(point7), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(0.25, -0.25), polygon.orthogonalProjectionCopy(point8), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(-0.25, 0.25), polygon.orthogonalProjectionCopy(point9), EPSILON);
assertNull(polygon.orthogonalProjectionCopy(point10));
assertNull(polygon.orthogonalProjectionCopy(point11));
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(-1.0, 0.0), polygon.orthogonalProjectionCopy(point12), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(-1.0, 1.0), polygon.orthogonalProjectionCopy(point13), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(1.0, -1.0), polygon.orthogonalProjectionCopy(point14), EPSILON);
EuclidCoreTestTools.assertTuple2DEquals(new Point2D(1.0, -1.0), polygon.orthogonalProjectionCopy(point15), EPSILON);