summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-06-25 11:49:50 +0200
committerMike Vink <mike1994vink@gmail.com>2021-06-25 11:49:50 +0200
commit102b25f18d9b269c58d15677f10cd71c15003c4b (patch)
treef142d3f43add40c2dd56bc496d6b4ab497f31a3e
parentc408d4ead869da802246c87a724e594ce639b883 (diff)
ending game from a steal should work now
-rw-r--r--domain/src/main/java/mancala/domain/SmallBowl.java1
-rw-r--r--domain/src/test/java/mancala/domain/BowlTest.java11
2 files changed, 11 insertions, 1 deletions
diff --git a/domain/src/main/java/mancala/domain/SmallBowl.java b/domain/src/main/java/mancala/domain/SmallBowl.java
index b750f61..b62ef43 100644
--- a/domain/src/main/java/mancala/domain/SmallBowl.java
+++ b/domain/src/main/java/mancala/domain/SmallBowl.java
@@ -88,6 +88,7 @@ public class SmallBowl extends Bowl {
getMyOwner().switchTurn();
+ endTheGame();
}
SmallBowl getNextSmallBowl() {
diff --git a/domain/src/test/java/mancala/domain/BowlTest.java b/domain/src/test/java/mancala/domain/BowlTest.java
index 0614201..e2eedb9 100644
--- a/domain/src/test/java/mancala/domain/BowlTest.java
+++ b/domain/src/test/java/mancala/domain/BowlTest.java
@@ -272,7 +272,7 @@ class BowlTest {
class endGameBehaviour {
@Test
- void given_all_small_bowls_of_the_player_are_empty_when_a_play_ends_then_tell_players_who_won() {
+ void given_all_small_bowls_of_the_player_that_did_the_turn_are_empty_when_a_play_ends_then_tell_players_who_won() {
setupGameSituationAndFailIfInvalid(new int[] {0,0,0,0,0,1,0,4,4,4,4,4,4,0});
Player player = referenceSmallBowl.getMyOwner();
Player opponent = referenceSmallBowl.getNextSmallBowlTimes(6).getMyOwner();
@@ -302,6 +302,15 @@ class BowlTest {
assertTrue(referenceSmallBowl.getMyOwner().won() && referenceSmallBowl.getMyOwner().getOpponent().won());
}
+ @Test
+ void given_that_the_opponents_board_is_emptied_by_stealing_when_player_made_a_play_then_tell_players_who_won() {
+ setupGameSituationAndFailIfInvalid(new int[] {1,0,0,0,1,0,0,1,0,0,0,0,0,0});
+ System.out.println(referenceSmallBowl.stateString());
+ referenceSmallBowl.getNextSmallBowlTimes(4).play();
+ System.out.println(referenceSmallBowl.stateString());
+ assertTrue(referenceSmallBowl.getMyOwner().won() || referenceSmallBowl.getMyOwner().getOpponent().won());
+ }
+
}
}
} \ No newline at end of file