package colisionDetection; import com.google.common.collect.Lists; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; @RunWith(MockitoJUnitRunner.class) public class CollisionDetectionServiceTest { @Mock private ScoreEventHandler scoreEventHandler; private CollisionDetectionService collisionDetectionService; @Before public void setUp() throws Exception { collisionDetectionService = new CollisionDetectionService(scoreEventHandler); } @Test public void shouldIgnoreWhenNoCollision() { // Given BotPositionsMessage positionsMessage = new BotPositionsMessage(Lists.newArrayList( new BotPosition("test1", 1, 1), new BotPosition("test2", 2, 1) )); // When collisionDetectionService.detectCollisions(positionsMessage); // Then verifyNoMoreInteractions(scoreEventHandler); } @Test public void shouldDetectCollision() { // Given BotPositionsMessage positionsMessage = new BotPositionsMessage(Lists.newArrayList( new BotPosition("test1", 1, 1), new BotPosition("test2", 1, 1) )); // When collisionDetectionService.detectCollisions(positionsMessage); // Then verify(scoreEventHandler).handleScoreEvent("test1"); verify(scoreEventHandler).handleScoreEvent("test2"); } }