import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;

import static org.assertj.core.api.Assertions.assertThat;

@RunWith(MockitoJUnitRunner.class)
public class TennisGameTest {

    @InjectMocks
    private TennisGame tennisGame;

    @Mock
    private TennisGameScore tennisGameScore;

    @Before
    public void setUp() {
        initTennisGameScore();
    }

    @Test
    public void should_federer_wins_point_when_it_has_an_even_number() {
        assertThat(tennisGame.isFedererWinPoint(2)).isTrue();
    }

    @Test
    public void should_nadal_wins_point_when_it_has_an_odd_number() {
        assertThat(tennisGame.isFedererWinPoint(1)).isFalse();
    }

    @Test
    public void should_game_over_when_federer_wins_the_game() {
        tennisGame.setFedererScore(4);

        assertThat(tennisGame.isTennisGameOver()).isTrue();
    }

    @Test
    public void should_game_over_when_nadal_wins_the_game() {
        tennisGame.setNadalScore(4);

        assertThat(tennisGame.isTennisGameOver()).isTrue();
    }

    private void initTennisGameScore() {
        tennisGameScore.init();
        tennisGameScore.addPoint(0, 1, "Nadal");
        tennisGameScore.addPoint(0, 2, "Nadal");
        tennisGameScore.addPoint(0, 3, "Nadal");
        tennisGameScore.addPoint(0, 4, "Nadal");
    }

}

@@ -582,199 +582,483 @@
     
-assertThat(tennisGame.isFedererWinPoint(2)).isTrue();%0A    %7D%0A%0A    @Test%0A    public void should_nadal_wins_point_when_it_has_an_odd_number() %7B%0A        assertThat(tennisGame.isFedererWinPoint(1)
+// Arrange%0A        int randResult = 2;%0A%0A        // Act%0A        boolean federerWinPoint = tennisGame.isFedererWinPoint(randResult);%0A%0A        // Assert%0A        assertThat(federerWinPoint).isTrue();%0A    %7D%0A%0A    @Test%0A    public void should_nadal_wins_point_when_it_has_an_odd_number() %7B%0A        // Arrange%0A        int randResult = 1;%0A%0A        // Act%0A        boolean federerWinPoint = tennisGame.isFedererWinPoint(randResult);%0A%0A        // Assert%0A        assertThat(federerWinPoint
 ).is
@@ -1139,32 +1139,51 @@
 ns_the_game() %7B%0A
+        // Arrange%0A
         tennisGa
@@ -1218,48 +1218,131 @@
     
-assertThat(tennisGame.isTennisGameOver()
+// Act%0A        boolean tennisGameOver = tennisGame.isTennisGameOver();%0A%0A        // Assert%0A        assertThat(tennisGameOver
 ).is
@@ -1420,32 +1420,51 @@
 ns_the_game() %7B%0A
+        // Arrange%0A
         tennisGa
@@ -1497,48 +1497,131 @@
     
-assertThat(tennisGame.isTennisGameOver()
+// Act%0A        boolean tennisGameOver = tennisGame.isTennisGameOver();%0A%0A        // Assert%0A        assertThat(tennisGameOver
 ).is

Clean test code by applying AAA