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
/TennisGameTest_.class
Binary file modified bin/TennisGame.class
Binary file not shown.
Binary file modified bin/TennisGameTest.class
Binary file not shown.
13 changes: 10 additions & 3 deletions src/TennisGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,22 @@ public String getScore() {
return "player2 wins";
}

if (player1Points >= 4 && player1Points == player2Points)
if (player1Points >= 3 && player1Points == player2Points)
//before: if (player1Points >= 4 && player1Points == player2Points)
//Should be at least 3 points, not 4
return "deuce";

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

if (player2Points > 4 && player2Points - player1Points == 1)
if (player2Points >= 4 && player2Points - player1Points == 1)
//before: if (player2Points > 4 && player2Points - player1Points == 1)
//Should be >=, not just >
return "player2 has advantage";

return player2Score + " - " + player1Score ;
return player1Score + " - " + player2Score ;
//before: return player2Score + " - " + player1Score ;
//Wrong order of players in score fixed

}
}
1 change: 1 addition & 0 deletions tests/TennisGameTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ public void testTennisGame_EahcPlayerWin4Points_Score_Deuce() throws TennisGameE
assertEquals("Tie score incorrect", "deuce", score);
}


@Test (expected = TennisGameException.class)
public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() throws TennisGameException {
//Arrange
Expand Down
185 changes: 185 additions & 0 deletions tests/TennisGameTest_.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
import static org.junit.Assert.*;

import org.junit.Test;

public class TennisGameTest_ {

@Test

public void testTennisGame_firstplayerWins() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

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

game.player2Scored();

game.player1Scored();

//Act
String score = game.getScore() ;
// Assert
assertEquals("Player1 wins incorrect", "player1 wins", score);
}

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

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

game.player1Scored();

game.player2Scored();

//Act
String score = game.getScore() ;
// Assert
assertEquals("Player2 wins incorrect", "player2 wins", score);
}
@Test


public void testTennisGame_describingScorelove() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();
//Act
String score = game.getScore() ;
// Assert
assertEquals("love incorrect", "love - love", score);

}

@Test
// This test failed
// Because of bug in public getScore (wrong players order, fixed)

/*
* We can't test individual scores, because they are in private getScore method,
* so we should test public getScore for score of two players
*/
public void testTennisGame_describingScore15() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();
game.player1Scored();
//Act
String score = game.getScore() ;
// Assert
assertEquals("15 incorrect", "15 - love", score);

}

@Test
//This test failed
// Because of bug in public getScore (wrong players order, fixed)

/*
* We can't test individual scores, because they are in private getScore method,
* so we should test public getScore for score of two players
*/
public void testTennisGame_describingScore30() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();
game.player1Scored();
game.player1Scored();
//Act
String score = game.getScore() ;
// Assert
assertEquals("30 incorrect", "30 - love", score);

}

@Test
//This test failed
//Because of bug in public getScore (wrong players order, fixed)

/*
* We can't test individual scores, because they are in private getScore method,
* so we should test public getScore for score of two players
*/
public void testTennisGame_describingScore40() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();
game.player1Scored();
game.player1Scored();
game.player1Scored();
//Act
String score = game.getScore() ;
// Assert
assertEquals("40 incorrect", "40 - love", score);

}

@Test
//This test failed
//Bug in getScore for deuce, 4 points instead 3, fixed
public void testTennisGame_deuce() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

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

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

//Act
String score = game.getScore() ;
// Assert
assertEquals("deuce incorrect", "deuce", score);
}

@Test

public void testTennisGame_advantage() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

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

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

game.player1Scored();

//Act
String score = game.getScore() ;
// Assert
assertEquals("player1 has advantage incorrect", "player1 has advantage", score);
}

@Test
//This test failed
//if (player2Points > 4 && player2Points - player1Points == 1)
//Should be >=, not just >
//fixed
public void testTennisGame_advantage2() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();

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

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

game.player2Scored();

//Act
String score = game.getScore() ;
// Assert
assertEquals("player2 has advantage incorrect", "player2 has advantage", score);
}
}