From ef2cf34167d10275357257559b22289eff6b4ff0 Mon Sep 17 00:00:00 2001 From: bmustone Date: Thu, 20 Sep 2018 16:12:20 +0300 Subject: [PATCH] Assignment Finished --- bin/TennisGame.class | Bin 1823 -> 1823 bytes bin/TennisGameTest.class | Bin 1393 -> 3510 bytes src/TennisGame.java | 18 ++--- tests/TennisGameTest.java | 162 +++++++++++++++++++++++++++++++++++++- 4 files changed, 168 insertions(+), 12 deletions(-) diff --git a/bin/TennisGame.class b/bin/TennisGame.class index 2da4e7a578a8ea5a5a076c2766b0eebecc4efc75..9e474972ccff734f004527bbaa3084215132f3b5 100644 GIT binary patch delta 37 tcmbQwH=l2V0~;gTWJfkV#)Xp$*u;3XcQDv)XK)sB+s5FbGkG#w4*)1c3ZmJZVL+KRbY$A(n7ly@CVCu_p+V3ovAak z1vDl^e=!mhqQ4Ly3DIASkHkkJ1k~s+MlsP}jE_YB7325LYiG9$+cah~bLYO!`JC@P z_w0jz?|n-|!*n4;b&S?$xTdM*No9d&xM_u`fl>3kvZN#mik44I%+B+y#c1t8Ra33Q zjOu%0(~KI9>p32#dRiBuHMEw|hP0~j@#4ZPH!{j>fisGx^{i5uRt#12-N6QHPBq~m zUG8;+QHurdrO}xwOEKWLeX^)o>H?ouO%-NFHBGk^OVu^oif-f+^F@Fq1p7#cqKv{N zBVpP|>%^-yLT$8}k(B4wR8}{D*U}S9m%^N~3{}gINYu_~^C=iqm4a-Fm9na#F(86O z+ZZ(#^d&C$%c2R>4(be12jVG#jG87ltO&`plTk#md#M+SN&&$8dzQNlj5u14EFZBI z&*Ow(F`yh&TVpc{v6scdC{ZD4O3BWhEhyKxabDGi&+4jXnKQN=Gbea43+v(3)hu7M z(P6vkA(T+<;0k#oFnui&+z zGP<5pjKVdE_94scA=%P(nLC3|G71e1;6R237;SrqfwW?Ai6Gbd(*6R*7r z%`GXKrR1>-Dc?1&TXIe{MX<;cS@C9NH!}p?QAVw<8uFZCmKHtCNiyK%xW74Bxj9~) zFmpwB4$vV^PH5cjOEku)qXO7Yk|69;o@#@88SSd>0XZ^iJLRW$&q3tC?eSM2FRJ?xY%BC}tO9bvn&XCZG%Gg}o`RfNKBkKD8Mt~G z)V8>|-?WoZfKj}On(&3fi+2dU1X_l6P469&KF3ELh4B{CgawUwN1O#{o6y5mz-%3D za91_k>xeGFyl~KVpEh2+Lz~ilUs21M=$7c#J$Gq)$#Rq$uxcAgD1lAXNv)`N!i((e zcD+dO(nY)At%=srW3(F{8Fj;RJw1-q4e0eOW4P@y>oQ-ZGu{4`UHTBwh%5nD<7XC}-{hEztqI55oT;FdqT)Q7|8e(kVnU7GUi589Q9Y9RbGuH5hNYjPWXr zo~{Ab1C{#r+BtR_tY^S64%P{6xBZjVI0E_*D% zKKehhyE%O*daN3|34$V6mcV`m?AO5lBG_L7`^#Xz4)#~T{_2X^Pt;()>gwKAMR%7q z6+Kzb+F_Tb*TDKZSZ{#!4Y1y%c6t+q?5zM>m#^zqSJ(D{uBU3SJ?gG`H3NC@bTnPg z=iIeh;CmbX-vQsd;Cl~R-o{;fAG!NMfbr3HZG07s-re$An{lEVGE(JvtSwFc2Mt0nTa kLD3Q4{gp(&f#`P-{Q;ssLG%}h{sz%MHHfBh7!qKpUkSxF|eH6;y(BNNB6rfpOf=->KBNgzm+ bGEu5TIVDPsC}%{e6Qv>VwPf(*d#Caj!)IK0 diff --git a/src/TennisGame.java b/src/TennisGame.java index 327f284..35ed3a2 100644 --- a/src/TennisGame.java +++ b/src/TennisGame.java @@ -11,7 +11,7 @@ public class TennisGame { public TennisGame() { player1Points = 0; player2Points = 0; - gameEnded = false ; + gameEnded = false; } private void checkGameEnded() { @@ -23,11 +23,11 @@ else if (player2Points>=4 && player2Points-player1Points>=2) private String getScore(int points) { switch (points) { - case 0: return "love"; - case 1: return "15" ; - case 2: return "30" ; - case 3: return "40"; - default: return "40" ; + case 0: return "love"; + case 1: return "15"; + case 2: return "30"; + case 3: return "40"; + default: return "40"; } } @@ -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/TennisGameTest.java b/tests/TennisGameTest.java index 8674eba..7218bfd 100644 --- a/tests/TennisGameTest.java +++ b/tests/TennisGameTest.java @@ -20,7 +20,8 @@ public class TennisGameTest { // "player2 has advantage" // "player1 wins" // "player2 wins" - @Ignore + + @Test public void testTennisGame_Start() { //Arrange TennisGame game = new TennisGame(); @@ -31,7 +32,7 @@ public void testTennisGame_Start() { } @Test - public void testTennisGame_EahcPlayerWin4Points_Score_Deuce() throws TennisGameException { + public void testTennisGame_EachPlayerWin4Points_Score_Deuce() throws TennisGameException { //Arrange TennisGame game = new TennisGame(); @@ -51,6 +52,132 @@ public void testTennisGame_EahcPlayerWin4Points_Score_Deuce() throws TennisGameE assertEquals("Tie score incorrect", "deuce", score); } + @Test + public void testTennisGame_DeuceTooEarly() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + game.player1Scored(); + game.player1Scored(); + + game.player2Scored(); + game.player2Scored(); + + //Act + String score = game.getScore() ; + // Assert + assertEquals("Deuce too early", "30 - 30", score); + } + + @Test + public void testTennisGame_DeuceTooLate() 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 too late", "deuce", score); + } + + @Test + public void testTennisGame_Player1Advantage() 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("Not displaying advantage correctly", "player1 has advantage", score); + } + + @Test + public void testTennisGame_Player2Advantage() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + + game.player2Scored(); + + //Act + String score = game.getScore() ; + // Assert + assertEquals("Not displaying advantage correctly", "player2 has advantage", score); + } + + @Test + public void testTennisGame_Player1TwoPointsPlayer2OnePoint() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + game.player1Scored(); + game.player1Scored(); + + game.player2Scored(); + + //Act + String score = game.getScore() ; + // Assert + assertEquals("Not displaying score correctly", "30 - 15", score); + } + + @Test + public void testTennisGame_Player1WinAtZeroFour() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + + //Act + String score = game.getScore() ; + // Assert + assertEquals("Not displaying a four point win correctly", "player1 wins", score); + } + + @Test + public void testTennisGame_Player2WinAtZeroFour() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + + //Act + String score = game.getScore() ; + // Assert + assertEquals("Not displaying a four point win correctly", "player2 wins", score); + } + @Test (expected = TennisGameException.class) public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() throws TennisGameException { //Arrange @@ -63,5 +190,34 @@ public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() thr //Act // This statement should cause an exception game.player1Scored(); - } + } + + @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.player2Scored(); + } + + @Test (expected = TennisGameException.class) + public void testTennisGame_OtherPlayerWinsPointAfterGameEnded_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.player2Scored(); + } + }