@Test public void testMoveIntInt() throws PolygonShapeException { // Mehrere Punkte erstellen ArrayList<Point> points = new ArrayList<Point>(); for (int i = 0; i < 20; ++i) points.add(new Point(i, 2 * i)); poly.setPoints(points); // Polygon verschieben poly.move(5, 7); assertThat(points, not(equalTo(poly.getPoints()))); // Punkte auch verschieben, sollte wieder gleich sein for (Point p : points) p.move(5, 7); assertThat(points, equalTo(poly.getPoints())); }
@Test public void testSetPoints() throws PolygonShapeException { // Mehrere Punkte erstellen ArrayList<Point> points = new ArrayList<Point>(); for (int i = 0; i < 25; ++i) points.add(new Point(2 * i, i)); poly.setPoints(points); // Darf nicht dasselbe Objekt sein assertNotSame(points, poly.getPoints()); // Muss gleich groß sein assertEquals(points.size(), poly.getPoints().size()); // Und muss dieselben Elemente enthalten assertEquals(points, poly.getPoints()); }
@Test public void testEmptyPolygon() { // alle Punkte ermitteln ArrayList<Point> points = poly.getPoints(); // Darf nicht null sein assertNotNull(points); // Größe muss 0 sein assertEquals(points.size(), 0); // draw sollte auch funktionieren poly.draw(); }
/** Testet rotate */ @Test public void testRotate() throws PolygonShapeException { ArrayList<Point> points = new ArrayList<Point>(); points.add(new Point(3, 1)); points.add(new Point(5, 5)); points.add(new Point(-2, 4)); poly.setPoints(points); // Um 90° Drehen poly.rotate(new Point(0, 1), 90); points = poly.getPoints(); assertEquals(new Point(0, -2), points.get(0)); assertEquals(new Point(4, -4), points.get(1)); assertEquals(new Point(3, 3), points.get(2)); }