Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified bin/TennisGame.class
Binary file not shown.
Binary file modified bin/TennisGameTest.class
Binary file not shown.
6 changes: 3 additions & 3 deletions src/TennisGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,15 @@ public String getScore() {
return "player2 wins";
}

if (player1Points >= 4 && player1Points == player2Points)
if (player1Points >= 3 && player1Points == player2Points)
return "deuce";

if (player1Points >= 4 && player1Points - player2Points == 1)
return "player1 has advantage";

if (player2Points > 4 && player2Points - player1Points == 1)
if (player2Points >= 4 && player2Points - player1Points == 1)
return "player2 has advantage";

return player2Score + " - " + player1Score ;
return player1Score + " - " + player2Score ;
}
}
185 changes: 185 additions & 0 deletions tests/TennisGameTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,189 @@ public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() thr
// This statement should cause an exception
game.player1Scored();
}

@Test (expected = TennisGameException.class)
public void testTennisGame_Player2WinsPointAfterGameEnded_ResultsException() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player2Scored();
//Act
// This statement should cause an exception
game.player2Scored();
}

//So the test are made with the same kind of template

@Test
public void testTennisGame_Player1HasAdvantage_resultPlayer1Advantage() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player1Scored();
game.player1Scored();
game.player1Scored();

game.player2Scored();
game.player2Scored();
game.player2Scored();

game.player1Scored();

String score = game.getScore();
//Assert
assertEquals("Player1 should now have advantage", "player1 has advantage", score);

}

@Test
public void testTennisGame_Player2HasAdvantage_resultPlayer2Advantage() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player1Scored();
game.player1Scored();
game.player1Scored();

game.player2Scored();
game.player2Scored();
game.player2Scored();

game.player2Scored();

String score = game.getScore();

//Assert
assertEquals("Player2 should now have advantage", "player2 has advantage", score);

}


@Test
public void testTennisGame_bothPlayerScoreThreeTimes_resultDeuce() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player1Scored();
game.player1Scored();
game.player1Scored();

game.player2Scored();
game.player2Scored();
game.player2Scored();

String score = game.getScore();

//Assert
assertEquals("Score should now be deuce", "deuce", score);

}



@Test
public void testTennisGame_Player1ScoresOnce_Result1v0() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player1Scored();

String score = game.getScore();

//Assert
assertEquals("Score should now be 15 - love", "15 - love", score);
}

@Test
public void testTennisGame_Player2ScoresOnce_Result0v1() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player2Scored();

String score = game.getScore();

//Assert
assertEquals("Score should now be love - 15", "love - 15", score);
}

@Test
public void testTennisGame_BothPlayersScoreOnce_Result15v15() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player1Scored();

game.player2Scored();

String score = game.getScore();
//Assert
assertEquals("Score should now be 15 - 15", "15 - 15", score);
}

@Test
public void testTennisGame_Player1Leads40v30_Result40v30() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player1Scored();
game.player1Scored();
game.player1Scored();

game.player2Scored();
game.player2Scored();

String score = game.getScore();

//Assert
assertEquals("Score should now be 40 - 30", "40 - 30", score);
}



@Test
public void testTennisGame_Player1Wins_Result0v4() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();


String score = game.getScore();

//Assert
assertEquals("Player1 should now win", "player1 wins", score);
}

@Test
public void testTennisGame_Player2Wins_Result4v0() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player2Scored();

String score = game.getScore();

//Assert
assertEquals("Player2 should now win", "player2 wins", score);
}

}