### Question:
Vector2D { public void rotate(double angle) { double currentAngle = Math.atan2(y, x); double magnitude = Math.sqrt(x * x + y * y); x = magnitude * Math.cos(angle + currentAngle); y = magnitude * Math.sin(angle + currentAngle); } 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 testRotate() { var vector = new Vector2D(5, 10); vector.rotate(Math.PI); assertEquals(new Vector2D(-5, -10), vector); }