summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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