diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..b02130c --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1,3 @@ +/TennisGame.class +/TennisGameException.class +/TennisGameTest.class diff --git a/bin/TennisGame.class b/bin/TennisGame.class index 2da4e7a..6552da7 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..094639d 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..0d83f0a 100644 Binary files a/bin/TennisGameTest.class and b/bin/TennisGameTest.class differ diff --git a/tests/TennisGameTest.java b/tests/TennisGameTest.java index 8674eba..9d21ed1 100644 --- a/tests/TennisGameTest.java +++ b/tests/TennisGameTest.java @@ -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"); + } +} +