diff --git a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
index 1aac7ccc87bd5620cdcd1db9b008f20a08d50640..bca1591613cb005fb51cdb9ba11bab337c715b0e 100644
--- a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
+++ b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
@@ -3,6 +3,7 @@ package dotsandboxes;
 import org.junit.jupiter.api.*;
 import static org.junit.jupiter.api.Assertions.*;
 import static org.junit.jupiter.api.Assumptions.*;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -28,4 +29,31 @@ public class DotsAndBoxesGridTest {
     }
 
     // FIXME: You need to write tests for the two known bugs in the code.
-}
+    @Test
+    public void testTestingBoxComplete() {
+        logger.info("Test of box completion test");
+        logger.info("Drawing complete box, then asserting incomplete state");
+        DotsAndBoxesGrid g = new DotsAndBoxesGrid(4,4,1);
+        g.drawHorizontal(1,1, 1);
+        g.drawHorizontal(1,2,1);
+        g.drawVertical(1,1,1);
+        g.drawVertical(2,1,1);
+        assertEquals(false,g.boxComplete(1,1));
+    }
+
+    @Test
+    public void testTestingLineDrawn() {
+        logger.info("Test of line already drawn detection");
+        logger.info("Instantiating new grid");
+        DotsAndBoxesGrid h = new DotsAndBoxesGrid(4,4,1);
+        logger.info("Drawing a line to later be duplicated");
+        h.drawHorizontal(1,1,1);
+        logger.info("Drawing line a second time within an assert throws block, expecting and illegal state exception");
+        IllegalStateException thrown = assertThrows(
+                IllegalStateException.class, () -> h.drawHorizontal (1,1,1),
+                "Drawing second horizontal line should have thrown illegal state exception, did not"
+        );
+        assertTrue(thrown.getMessage().contains("IllegalStateException"));
+
+    }
+}
\ No newline at end of file