### Question:
Position { static Position calculateCentre(Disk m, Disk n, double angle) { angle = correctAngle(angle); if (angle == 0 || angle == 360) { return new Position(m.getPosition().x, m.getPosition().y + n.getRadius() + m.getRadius(), n.getPosition().z); } else if (0 < angle && angle < 90) { double c = n.getRadius() + m.getRadius(); double b = c * Math.cos(Math.toRadians(angle)); double a = c * Math.sin(Math.toRadians(angle)); return new Position(m.getPosition().x + a, m.getPosition().y + b, n.getPosition().z); } else if (angle == 90) { return new Position(m.getPosition().x + n.getRadius() + m.getRadius(), m.getPosition().y, n.getPosition().z); } else if (90 < angle && angle < 180) { double c = n.getRadius() + m.getRadius(); double b = c * Math.cos(Math.toRadians(angle - 90)); double a = c * Math.sin(Math.toRadians(angle - 90)); return new Position(m.getPosition().x + b, m.getPosition().y - a, n.getPosition().z); } else if (angle == 180) { return new Position(m.getPosition().x, m.getPosition().y - n.getRadius() - m.getRadius(), n.getPosition().z); } else if (180 < angle && angle < 270) { double c = n.getRadius() + m.getRadius(); double b = c * Math.cos(Math.toRadians(angle - 180)); double a = c * Math.sin(Math.toRadians(angle - 180)); return new Position(m.getPosition().x - a, m.getPosition().y - b, n.getPosition().z); } else if (angle == 270) { return new Position(m.getPosition().x - n.getRadius() - m.getRadius(), m.getPosition().y, n.getPosition().z); } else if (270 < angle && angle < 360) { double c = n.getRadius() + m.getRadius(); double b = c * Math.cos(Math.toRadians(angle - 270)); double a = c * Math.sin(Math.toRadians(angle - 270)); return new Position(m.getPosition().x - b, m.getPosition().y + a, n.getPosition().z); } return null; } Position(double x, double y, double z);  public Double x; public Double y; public Double z; }### Answer:
@Test void calculateCentreTest() { Position position = Position.calculateCentre(disk1, disk2, 90); assert position != null; double x = position.x; double y = position.y; double z = position.z; assertEquals(10.5, x); assertEquals(5, y); assertEquals(0, z); }