예제 #1
0
  @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()));
  }
예제 #2
0
  @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());
  }
예제 #3
0
  @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();
  }
예제 #4
0
  /** 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));
  }