From 4145cdd117366f4f5b51473dd73338dad83f2234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommi=20Puuper=C3=A4?= Date: Thu, 20 Sep 2018 19:52:44 +0300 Subject: [PATCH] Assignment Finished --- bin/.gitignore | 4 + bin/TennisGame.class | Bin 1823 -> 1823 bytes src/TennisGame.java | 10 +-- tests/TennisGameTest2.java | 168 +++++++++++++++++++++++++++++++++++++ 4 files changed, 177 insertions(+), 5 deletions(-) create mode 100644 bin/.gitignore create mode 100644 tests/TennisGameTest2.java diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..972093e --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1,4 @@ +/TennisGame.class +/TennisGameException.class +/TennisGameTest.class +/TennisGameTest2.class diff --git a/bin/TennisGame.class b/bin/TennisGame.class index 2da4e7a578a8ea5a5a076c2766b0eebecc4efc75..649d40a6f6f6df2b5df8ab7c8b6627e17ea1a440 100644 GIT binary patch delta 52 zcmbQwH=l0<2MZJ1lF3{w(m-mnI*TL|Bim$0Ha*6LlMC3yc(r#h*luTV7INFh;Gr{l HGFuM-PlXLt delta 52 zcmbQwH=l0<2MZJX!pU4L(m-mnI*TL|Bl~1WHa*5AlMC3ycy)F#*luTV7INFh;GsQv HGFuM-Pgf09 diff --git a/src/TennisGame.java b/src/TennisGame.java index 327f284..a242165 100644 --- a/src/TennisGame.java +++ b/src/TennisGame.java @@ -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; } @@ -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 ; } } \ No newline at end of file diff --git a/tests/TennisGameTest2.java b/tests/TennisGameTest2.java new file mode 100644 index 0000000..296bb7d --- /dev/null +++ b/tests/TennisGameTest2.java @@ -0,0 +1,168 @@ +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TennisGameTest2 { + + @Test + public void testPlayer10PointsAndPlayer20To3Points() 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 testPlayer20PointsAndPlayer10To3Points() 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 testPlayersSamePointsTo3Points() 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 testPlayer1Advantage() throws TennisGameException { + TennisGame game = new TennisGame(); + game.player1Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player1Scored(); + game.player2Scored(); + game.player1Scored(); + assertEquals("player1 has advantage", game.getScore()); + } + + @Test + public void testPlayer2Advantage() throws TennisGameException { + TennisGame game = new TennisGame(); + game.player1Scored(); + game.player1Scored(); + game.player2Scored(); + 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.player1Scored(); + game.player2Scored(); + 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.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + assertEquals("player2 wins", game.getScore()); + } + + @Test + public void testPlayer2WinsAfterTwoAdvantages() throws TennisGameException { + TennisGame game = new TennisGame(); + game.player1Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + assertEquals("player2 wins", game.getScore()); + } + + @Test + public void testPlayer1WinsAfterTwoAdvantages() throws TennisGameException { + TennisGame game = new TennisGame(); + game.player1Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + assertEquals("player1 wins", game.getScore()); + } + + @Test (expected = TennisGameException.class) + public void testExceptionWhenScoredAfterGameEnded() throws TennisGameException { + TennisGame game = new TennisGame(); + game.player1Scored(); + game.player2Scored(); + game.player1Scored(); + game.player2Scored(); + game.player1Scored(); + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + } +}