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/TennisGameException.class
Binary file not shown.
Binary file modified bin/TennisGameTest.class
Binary file not shown.
2 changes: 1 addition & 1 deletion src/TennisGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public String getScore() {
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 ;
Expand Down
1 change: 0 additions & 1 deletion src/TennisGameException.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

public class TennisGameException extends Exception {

}
148 changes: 146 additions & 2 deletions tests/TennisGameTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,150 @@ public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() thr
game.player1Scored();
//Act
// This statement should cause an exception
game.player1Scored();
}
game.player1Scored();
}
@Test
public void testNoNullPoints() throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
String i = game.getScore();
//Assert
assertNotNull(i);
}
@Test
public void testPlayer2CanHaveAdvantage()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player2Scored();
String i = game.getScore();
assertSame(i,"player2 has advantage");
//This test caused failure. Fixes done into the code.
}
@Test
public void testPlayer2CanWin53()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player2Scored();
game.player2Scored();
String i = game.getScore();
assertSame(i,"player2 wins");
}
@Test
public void testPlayersCanPlayLongDeuces()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
String i = game.getScore();
assertSame(i,"deuce");
}
@Test
public void testPlayer1WinsWithCorrectAdvantage()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
String i = game.getScore();
assertSame(i,"player1 wins");
}
@Test
public void testPlayer1StaysLove()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
String i = game.getScore();
System.out.println("PrintOfTheGetScore:"+i);
//Assert
assertEquals(i,"15 - love");
//Act
game.player2Scored();
i = game.getScore();
//Assert
assertEquals(i,"30 - love");
//Act
game.player2Scored();
i = game.getScore();
//Assert
assertEquals(i,"40 - love");
//Act
game.player2Scored();
i = game.getScore();
//Assert
assertSame(i,"player2 wins");

}
@Test
public void testPlayer2StaysLove()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player1Scored();
String i = game.getScore();
System.out.println("PrintOfTheGetScorePlayer2Love:"+i);
//Assert
assertEquals(i,"love - 15");
//Act
game.player1Scored();
i = game.getScore();
//Assert
assertEquals(i,"love - 30");
//Act
game.player1Scored();
i = game.getScore();
//Assert
assertEquals(i,"love - 40");
//Act
game.player1Scored();
i = game.getScore();
//Assert
assertSame(i,"player1 wins");

}
}
/*It was tricky to find anything and I believe I need more detailed knowledge about that, how the unit testing should work.*/