summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/jrummikub/model/TableTest.java67
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);
+ }
}