From 4809b5117dc1f5346ff26a4f32208c885be8a73d Mon Sep 17 00:00:00 2001
From: awain3 <awain3@myune.edu.au>
Date: Mon, 29 Jul 2024 21:02:15 +1000
Subject: [PATCH] Tests written, bugs not fixed

---
 .../dotsandboxes/DotsAndBoxesGridTest.java    | 47 +++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
index 1946bed..d6a1104 100644
--- a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
+++ b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
@@ -14,6 +14,8 @@ public class DotsAndBoxesGridTest {
      */
     private static final Logger logger = LogManager.getLogger(DotsAndBoxesGridTest.class);
 
+    private DotsAndBoxesGrid grid;
+
     /*
      * Tests are functions that have an @Test annotation before them.
      * The typical format of a test is that it contains some code that does something, and then one
@@ -21,6 +23,51 @@ public class DotsAndBoxesGridTest {
      *
      * This is a dummy test just to show that the test suite itself runs
      */
+
+    @Test
+    public void setUp() {
+        grid = new DotsAndBoxesGrid(4, 3, 2);
+    }
+
+    @Test
+    public void boxCompleteDetectsCompletedBoxes() {
+        grid.drawHorizontal(0, 0, 1);
+        grid.drawHorizontal(0, 1, 1);
+        grid.drawVertical(0, 0, 1);
+        grid.drawVertical(1, 0, 1);
+
+        assertTrue(grid.boxComplete(0, 0));
+
+        grid.drawHorizontal(1, 1, 1);
+        grid.drawHorizontal(1, 2, 1);
+        grid.drawVertical(1, 1, 1);
+        grid.drawVertical(2, 1, 1);
+
+        assertTrue(grid.boxComplete(1, 1));
+    }
+
+    @Test
+    public void boxCompleteDetectIncompleteBoxes() {
+        grid.drawHorizontal(0, 1, 1);
+
+        assertFalse(grid.boxComplete(1, 1));
+    }
+
+    @Test
+    public void drawMethodsDetectRedrawnLines() {
+        grid.drawHorizontal(0, 0, 1);
+
+        assertThrows(IllegalStateException.class, () -> {
+            grid.drawHorizontal(0, 0, 1);
+        });
+
+        grid.drawVertical(0, 0, 1);
+
+        assertThrows(IllegalStateException.class, () -> {
+            grid.drawVertical(0, 0, 1);
+        });
+    }
+
     @Test
     public void testTestSuiteRuns() {
         logger.info("Dummy test to show the test suite runs");
-- 
GitLab