Tuple2D extends Point2D.Double implements ILocated2D { public Tuple2D add(Tuple2D position) { return new Tuple2D(x + position.x, y + position.y); } Tuple2D(double x, double y); boolean isZero(); double length(); Tuple2D normalize(); double angle(); Tuple2D midpoint(Tuple2D position); Tuple2D add(Tuple2D position); Tuple2D sub(ILocated2D rhs); Tuple2D mult(double i); Tuple2D div(double i); Tuple2D getPosition(); Tuple2D rotate(double radians); double distance(ILocated2D other); @Override String toString(); double angleBetweenTargets(ILocated2D a, ILocated2D b);  }
@Test public void testAdd() { Tuple2D test = new Tuple2D(2, 2); Tuple2D something = new Tuple2D(1, 1); test.add(something); Tuple2D otherTest = new Tuple2D(2, 2); assertEquals(test.x, otherTest.x, ERROR); assertEquals(test.y, otherTest.y, ERROR); assertTrue(test.equals(otherTest)); }