From 7bff835aebf8fd7383d64c70307ff2c124ac0945 Mon Sep 17 00:00:00 2001 From: Saku Ruohola Date: Mon, 24 Sep 2018 17:49:05 +0300 Subject: [PATCH] Assignment Finished --- bin/TennisGame.class | Bin 1823 -> 1823 bytes bin/TennisGameTest.class | Bin 1393 -> 3975 bytes src/TennisGame.java | 6 +- tests/TennisGameTest.java | 185 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 188 insertions(+), 3 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*`vm99lTWSQN)>`vXzmYLZF zO^m*npix6&Onfj=6MZo;MoolB)aZ)|8jXp*nfQ^I=!=OTG0_L(e`fB^&TeOILwwlz zxO3Rv z8Un4@qo|58D$ugN{uzN<_m^_aPs^w+K+9=`K&z9A%8r-kGE7U!nIaQNN|v&6aYoh@ z^PUg38U;m%K(bzSM4s+J{51hTt)({e&>o-;+8~gaXU23EQ^C^L zpR8FhZD@*`9}#JjKpQ6Df+81#x;Znbs5ogbNTkgItt^%*EVwIZp8V8BTYc1xTuWL$ zGF!%bkuhConh~HN^#~M@t-JAyWx0rChWi#ux<>3ej4T|ns*y+a5Ygo-99?cPnuS=9 zi$IYEyT|21cB&{p%(Rn=nwToVO+9Vdkv_o6Sw#1bU(T|5%X%O63$(80rSrtBY%N{0 zpGHiJ2LiOqY?4*;mO{*mn=_w80u*&UiQ7*^iktBjw$SDT^2*sjqYWw8_%ZP77XR1< zG=$mL<7$rO(kGZ+E*iRvRb-dvQ9G6ssNH3qGXoxaYs8nXG3*U_Sk}jK63gjK$ZcKOhXeB1nu_od9Mi3hkX%gX`+lA|HpW}&c zak>*2s+a*z2(-Cr3g(2AKt3yh*bw$aZ+DVR&gqG0WiZO!v93ir*(7)(3V#M+;3)*> zHv(<<4sNan9yVG@h;&w<4v)UQq^KgD!!}iIRt#X{^A2h)u_~)sN!bZn*N#@utP?aI zw1fJmOJyy~4l3rC$hA|YuqB1f?T~s1-!gm$iEhIczF|1}a2LT@zykU)rS-?8jZ){pb=p#k zEKw_Fb&^P15U-osX{)6YwBP0`B2>1~?ND1qZM2~=Bi1V{B3#&z{)j+xhBj7fv_jB!v9R7EHTptlBE>nTJVX(y-$@IedXX#}G&?DT^) zgufT2Q+5u!ogBhEhh455hCFguiEKjn?atDjR#gsE=XRyyZKqC+5>fZ`Dl9R*PmM3W$zT7+oWgUIa2 zYMo!;b&fZ&#{uHCM~&~6_SDxnY%!b!;b{<_0pVE?o&#YTgy&Jq3~HRCe!74v7hLr< zyTe=wB6#c`?RV98^nYaM{dtcx=EXh-f_bo91iJ=y1MFq6SHON5?2mx`QLsO@WcK}w zuwUiAhnL_xJU`I5u0qz{@&vfAfcr^sKLzfm!Tk)lp9S|-tn}xwrk-~(haJCrx!*fn zeji+fxxkq_8<@d&NSdhkwF4U?(Tm`F37W6q58JD>iC%NDbUG{&XTjfUcx~@bM{j|J z*ElI1_hNY+EN?*bO|ZNTmUouSGPMZHJolx$!57YRpEO<1(}{RQ*THiGJny4+A7bzR z2><&(b}@B3{&aAE+FkzKzX;P6&J=23YTUn3yBX<$dcI!h5Pbr^n_&19e4nAWK1XkT zf!_KOAHc7$9=>+5h8)&yoVCZrdU_Go$2n_n6IPQMoM)s5>p8c9kmws6zlHvH;QSt( zKY;T`c=;1L>1P+C`Teo?nr_b6ff$?3=9k=3|1Stl$j?#Wz%6~*(}5^#Kg+Lz{Fq)0NSPr3IG5A diff --git a/src/TennisGame.java b/src/TennisGame.java index 327f284..80cbc1c 100644 --- a/src/TennisGame.java +++ b/src/TennisGame.java @@ -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..162364a 100644 --- a/tests/TennisGameTest.java +++ b/tests/TennisGameTest.java @@ -64,4 +64,189 @@ public void testTennisGame_Player1WinsPointAfterGameEnded_ResultsException() thr // 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(); + } + + //So the test are made with the same kind of template + + @Test + public void testTennisGame_Player1HasAdvantage_resultPlayer1Advantage() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + + game.player1Scored(); + + String score = game.getScore(); + //Assert + assertEquals("Player1 should now have advantage", "player1 has advantage", score); + + } + + @Test + public void testTennisGame_Player2HasAdvantage_resultPlayer2Advantage() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + + game.player2Scored(); + + String score = game.getScore(); + + //Assert + assertEquals("Player2 should now have advantage", "player2 has advantage", score); + + } + + + @Test + public void testTennisGame_bothPlayerScoreThreeTimes_resultDeuce() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + + String score = game.getScore(); + + //Assert + assertEquals("Score should now be deuce", "deuce", score); + + } + + + + @Test + public void testTennisGame_Player1ScoresOnce_Result1v0() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player1Scored(); + + String score = game.getScore(); + + //Assert + assertEquals("Score should now be 15 - love", "15 - love", score); + } + + @Test + public void testTennisGame_Player2ScoresOnce_Result0v1() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player2Scored(); + + String score = game.getScore(); + + //Assert + assertEquals("Score should now be love - 15", "love - 15", score); + } + + @Test + public void testTennisGame_BothPlayersScoreOnce_Result15v15() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player1Scored(); + + game.player2Scored(); + + String score = game.getScore(); + //Assert + assertEquals("Score should now be 15 - 15", "15 - 15", score); + } + + @Test + public void testTennisGame_Player1Leads40v30_Result40v30() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + + game.player2Scored(); + game.player2Scored(); + + String score = game.getScore(); + + //Assert + assertEquals("Score should now be 40 - 30", "40 - 30", score); + } + + + + @Test + public void testTennisGame_Player1Wins_Result0v4() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + game.player1Scored(); + + + String score = game.getScore(); + + //Assert + assertEquals("Player1 should now win", "player1 wins", score); + } + + @Test + public void testTennisGame_Player2Wins_Result4v0() throws TennisGameException { + //Arrange + TennisGame game = new TennisGame(); + + //Act + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + game.player2Scored(); + + String score = game.getScore(); + + //Assert + assertEquals("Player2 should now win", "player2 wins", score); + } + }