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
4 changes: 4 additions & 0 deletions bin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/TennisGame.class
/TennisGameException.class
/TennisGameTest.class
/TennisGame_Testing2.class
Binary file modified bin/TennisGame.class
Binary file not shown.
10 changes: 5 additions & 5 deletions src/TennisGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ public TennisGame() {
}

private void checkGameEnded() {
if (player1Points>=4 && player1Points-player2Points>=2)
if (player1Points > 3 && player1Points-player2Points>=2)
gameEnded = true;
else if (player2Points>=4 && player2Points-player1Points>=2)
else if (player2Points > 3 && player2Points-player1Points>=2)
gameEnded = true;
}

Expand Down 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 ;
}
}
168 changes: 168 additions & 0 deletions tests/TennisGame_Testing2.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
import static org.junit.Assert.*;

import org.junit.Test;

public class TennisGame_Testing2 {


@Test
public void testPlayer1Has0PointsAndPlayer2Has0To3Points() throws TennisGameException {
TennisGame game = new TennisGame();

assertEquals("love - love", game.getScore());

game.player2Scored();

assertEquals("love - 15", game.getScore());

game.player2Scored();

assertEquals("love - 30", game.getScore());

game.player2Scored();

assertEquals("love - 40", game.getScore());
}

@Test
public void testPlayer2Has0PointsAndPlayer1Has0To3Points() throws TennisGameException {
TennisGame game = new TennisGame();

assertEquals("love - love", game.getScore());

game.player1Scored();

assertEquals("15 - love", game.getScore());

game.player1Scored();

assertEquals("30 - love", game.getScore());

game.player1Scored();

assertEquals("40 - love", game.getScore());
}

@Test
public void testPlayersHaveSamePointsTo3Points() throws TennisGameException {
TennisGame game = new TennisGame();

assertEquals("love - love", game.getScore());

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

assertEquals("15 - 15", game.getScore());

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

assertEquals("30 - 30", game.getScore());

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

assertEquals("deuce", game.getScore());
}

@Test
public void testPlayer1HasAdvantage() throws TennisGameException {
TennisGame game = new TennisGame();

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

assertEquals("player1 has advantage", game.getScore());
}

@Test
public void testPlayer2HasAdvantage() throws TennisGameException {
TennisGame game = new TennisGame();

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

assertEquals("player2 has advantage", game.getScore());
}

@Test
public void testPlayer1Wins() throws TennisGameException {
TennisGame game = new TennisGame();

game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();

assertEquals("player1 wins", game.getScore());
}

@Test
public void testPlayer2Wins() throws TennisGameException {
TennisGame game = new TennisGame();

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

assertEquals("player2 wins", game.getScore());
}

@Test
public void testPlayer1WinsAfterAdvantage() throws TennisGameException {
TennisGame game = new TennisGame();

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

assertEquals("player1 wins", game.getScore());
}

@Test
public void testPlayer2WinsAfterAdvantage() throws TennisGameException {
TennisGame game = new TennisGame();

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

assertEquals("player2 wins", game.getScore());
}

@Test (expected = TennisGameException.class)
public void testExceptionWhenScoredAfterGameHasEnded() throws TennisGameException {
TennisGame game = new TennisGame();

game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player2Scored();
}
}