### Question:
PolygonUtil { public static boolean isClockwisePolygon(List<Point2d> polygon) { return area(polygon) < 0; }  static boolean isPointInsidePolygon(Point2d point, PolygonList2d polygon); static boolean isPointInsidePolygon(Point2d point, List<Point2d> points); static Point2d minBound(PolygonList2d pPolygon); static Point2d maxBound(PolygonList2d pPolygon); static float area(List<Point2d> polygon); static boolean isClockwisePolygon(List<Point2d> polygon); static List<Point2d> reverse(List<Point2d> polygon); static List<Point2d> makeCounterClockwise(List<Point2d> polygon);  }### Answer:
@Test public void isClockwisePolygon() { Point2d p1 = point("p1", 0, 0); Point2d p2 = point("p2", 1, 0); Point2d p3 = point("p3", 1, 1); List<Point2d> counterClockwiseInput = Arrays.asList(p1, p2, p3); boolean isClockwise = PolygonUtil.isClockwisePolygon(counterClockwiseInput); assertFalse(isClockwise); List<Point2d> clockwiseInput = Arrays.asList(p3, p2, p1); isClockwise = PolygonUtil.isClockwisePolygon(clockwiseInput); assertTrue(isClockwise); }