diff --git a/bin/TennisGame.class b/bin/TennisGame.class index 2da4e7a..238bb2c 100644 Binary files a/bin/TennisGame.class and b/bin/TennisGame.class differ diff --git a/bin/TennisGameException.class b/bin/TennisGameException.class index d3bcf94..fb5ee94 100644 Binary files a/bin/TennisGameException.class and b/bin/TennisGameException.class differ diff --git a/bin/TennisGameTest.class b/bin/TennisGameTest.class index b202db2..fa0a332 100644 Binary files a/bin/TennisGameTest.class and b/bin/TennisGameTest.class differ diff --git a/src/TennisGame.java b/src/TennisGame.java index 327f284..a1ef3db 100644 --- a/src/TennisGame.java +++ b/src/TennisGame.java @@ -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 ; diff --git a/src/TennisGameException.java b/src/TennisGameException.java index 23fa24f..98e6149 100644 --- a/src/TennisGameException.java +++ b/src/TennisGameException.java @@ -1,4 +1,3 @@ public class TennisGameException extends Exception { - } diff --git a/tests/TennisGameTest.java b/tests/TennisGameTest.java index 8674eba..9136fa6 100644 --- a/tests/TennisGameTest.java +++ b/tests/TennisGameTest.java @@ -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.*/ \ No newline at end of file