### Question:
Position extends Point { public Position weightedAvg(Position b, double bWeight) { return new Position((1 - bWeight) * x + bWeight * b.x, (1 - bWeight) * y + bWeight * b.y, (1 - bWeight) * angle + bWeight * b.getAngle()); } Position(double x, double y, double angle);  Position(double x, double y);  Position(Point point, double angle);  Position(Point point); Position weightedAvg(Position b, double bWeight); static double normalizeAngle(double angle); @Override double[] get(); void set(double x, double y, double angle); Position changeAngleBy(double angle); Position rotateWithAngle(double angle); @Override Position clone(); double getAngle(); void setAngle(double angle); Position translate(Position p); Position moveBy(double linearV, double angularV, double t); @Override Position localizerToMathCoords(); @Override Position weaverToLocalizerCoords(); @Override Point mathToWeaverCoords(); @Override Position mathToFrcCoords(); @Override String toString();  }### Answer:
@Test void testWeigtedAvg(){ Position p1 = new Position(0, 0); Position p2 = new Position(2, 2, 2); assertEquals(p1.weightedAvg(p2, 0.5), new Position(1, 1, 1)); assertEquals(p1.weightedAvg(p2, 0.75), new Position(1.5, 1.5, 1.5)); assertEquals(p1.weightedAvg(p2, 0.25), new Position(0.5, 0.5, 0.5)); p1 = new Position(1, 0); assertEquals(p1.weightedAvg(p2, 0.5), new Position(1.5, 1, 1)); assertEquals(p1.weightedAvg(p2, 0.75), new Position(1.75, 1.5, 1.5)); assertEquals(p1.weightedAvg(p2, 0.25), new Position(1.25, 0.5, 0.5)); p1 = new Position(1, 5, 1); assertEquals(p1.weightedAvg(p2, 0.5), new Position(1.5, 3.5, 1.5)); assertEquals(p1.weightedAvg(p2, 0.75), new Position(1.75, 2.75, 1.75)); assertEquals(p1.weightedAvg(p2, 0.25), new Position(1.25, 4.25, 1.25)); }