diff options
Diffstat (limited to 'test/jrummikub/model')
-rw-r--r-- | test/jrummikub/model/TableTest.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/jrummikub/model/TableTest.java b/test/jrummikub/model/TableTest.java index 5326745..86f25ea 100644 --- a/test/jrummikub/model/TableTest.java +++ b/test/jrummikub/model/TableTest.java @@ -1,5 +1,72 @@ package jrummikub.model; +import java.util.Arrays; +import java.util.Collections; + +import org.junit.*; + +import static jrummikub.model.StoneColor.BLACK; +import static jrummikub.model.StoneColor.RED; +import static org.junit.Assert.*; + +import jrummikub.model.Table; + public class TableTest { + Table testTable; + + @Before + public void setup() { + testTable = new Table(); + } + + @Test + public void testIsValid() { + testTable.drop(new StoneSet(Arrays.asList(new Stone(RED), new Stone(BLACK), + new Stone(1, BLACK))), new Position(0,0)); + testTable.drop(new StoneSet(Arrays.asList(new Stone(1, RED), new Stone(2, RED), + new Stone(3, RED))), new Position(0,0)); + assertTrue(testTable.isValid()); + testTable.drop(new StoneSet(Arrays.asList(new Stone(5, RED))), new Position(0,0)); + assertFalse(testTable.isValid()); + } + + @Test + public void testEmptyIsValid() { + assertTrue(testTable.isValid()); + } + + @Test + @SuppressWarnings("unused") + public void testPickUpStoneGroup() { + Stone targetStone = new Stone(BLACK); + testTable.drop(new StoneSet(Arrays.asList(new Stone(RED), targetStone, + new Stone(1, BLACK))), new Position(0,0)); + assertTrue(testTable.isValid()); + testTable.pickUpStone(targetStone); + assertFalse(testTable.isValid()); + + int counter = 0; + for (Object i : testTable) { + counter++; + } + assertEquals(counter, 1); + } + + @Test + @SuppressWarnings("unused") + public void testPickUpStoneRun() { + Stone targetStone = new Stone(BLACK); + testTable.drop(new StoneSet(Arrays.asList(new Stone(1, RED), targetStone, + new Stone(3, BLACK))), new Position(0,0)); + assertTrue(testTable.isValid()); + testTable.pickUpStone(targetStone); + assertFalse(testTable.isValid()); + + int counter = 0; + for (Object i : testTable) { + counter++; + } + assertEquals(counter, 2); + } } |