//---------------------------------------------------------------------------------------------
@Test
public void moveTo_a_point_within_10_pixels() {
// given:
Point2D sourcePoint = new Point2D(0, 0);
given(baseRobot.retrieveMouse()).willReturn(sourcePoint);
// and:
Point2D targetPoint = new Point2D(10, 0);
PointQuery pointQuery = mock(PointQuery.class);
given(pointQuery.query()).willReturn(targetPoint);
// when:
moveRobot.moveTo(pointQuery);
// then:
for (double x = 0.0; x <= 9.0; x++) {
verify(baseRobot, times(1)).moveMouse(new Point2D(x, 0));
}
verify(baseRobot, times(2)).moveMouse(new Point2D(10, 0));
verify(baseRobot, times(2)).awaitEvents();
}