### Question:
Vector2D { public Vector2D rotated(double angle) { Vector2D vector = copy(); vector.rotate(angle); return vector; } Vector2D(double x, double y); double getX(); double getY(); void translate(Vector2D offset); Vector2D translated(Vector2D offset); void rotate(double angle); Vector2D rotated(double angle); void scale(double scaler); Vector2D scaled(double scaler); Vector2D copy(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test void testRotated() { assertEquals(new Vector2D(-5, -10), new Vector2D(5, 10).rotated(Math.PI)); assertEquals(new Vector2D(-5, -10), new Vector2D(-5, -10).rotated(2 * Math.PI)); assertEquals(new Vector2D(-5, -10), new Vector2D(10, -5).rotated(-Math.PI / 2)); assertEquals(new Vector2D(-5, -10), new Vector2D(-10, 5).rotated(Math.PI / 2)); }