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
3 changes: 3 additions & 0 deletions bin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/TennisGame.class
/TennisGameException.class
/TennisGameTest.class
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.
254 changes: 187 additions & 67 deletions tests/TennisGameTest.java
Original file line number Diff line number Diff line change
@@ -1,67 +1,187 @@
import static org.junit.Assert.*;

import org.junit.Test;

import jdk.nashorn.internal.ir.annotations.Ignore;

public class TennisGameTest {

// Here is the format of the scores: "player1Score - player2Score"
// "love - love"
// "15 - 15"
// "30 - 30"
// "deuce"
// "15 - love", "love - 15"
// "30 - love", "love - 30"
// "40 - love", "love - 40"
// "30 - 15", "15 - 30"
// "40 - 15", "15 - 40"
// "player1 has advantage"
// "player2 has advantage"
// "player1 wins"
// "player2 wins"
@Ignore
public void testTennisGame_Start() {
//Arrange
TennisGame game = new TennisGame();
//Act
String score = game.getScore() ;
// Assert
assertEquals("Initial score incorrect", "love - love", score);
}

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

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

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

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

@Test (expected = TennisGameException.class)
public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();
//Act
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
//Act
// This statement should cause an exception
game.player1Scored();
}
}
import static org.junit.Assert.*;


import org.junit.Test;

//import jdk.nashorn.internal.ir.annotations.Ignore;

public class TennisGameTest {

// Here is the format of the scores: "player1Score - player2Score"
// "love - love"
// "15 - 15"
// "30 - 30"
// "deuce"
// "15 - love", "love - 15"
// "30 - love", "love - 30"
// "40 - love", "love - 40"
// "30 - 15", "15 - 30"
// "40 - 15", "15 - 40"
// "player1 has advantage"
// "player2 has advantage"
// "player1 wins"
// "player2 wins"
//@org.junit.Ignore
@Test
public void testTennisGame_Start() {
//Arrange
TennisGame game = new TennisGame();
//Act
String score = game.getScore() ;
// Assert
assertEquals("Initial score incorrect", "love - love", score);
}

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

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

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

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

@Test (expected = TennisGameException.class)
public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() throws TennisGameException {
//Arrange
TennisGame game = new TennisGame();
//Act
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
//Act
// This statement should cause an exception
//game.player1Scored();
String i = game.getScore();
assertSame(i,"player1 wins");
}
@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.player1Scored();
String i = game.getScore();
assertSame(i,"player2 wins");
}
@Test
public void testPlayer2CanGetAdvantage()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");
}
@Test
public void testPlayer1CanGetAdvantage()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
String i = game.getScore();
assertSame(i,"player1 has advantage");
}
@Test
public void testPlayer1CanWin()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
String i = game.getScore();
assertSame(i,"player1 wins");
}
@Test
public void testPlayer2CanWin()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 testPlayerPlaysDeuce()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player2Scored();
String i = game.getScore();
assertSame(i,"deuce");
}
@Test
public void testPlayerPlaysLongGame1Wins()throws TennisGameException{
//Arrange
TennisGame game = new TennisGame();
//Act
game.player2Scored();
game.player2Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player2Scored();
game.player1Scored();
game.player1Scored();
String i = game.getScore();
assertSame(i,"player1 wins");
}
}