diff --git a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
index 1946beda974d180686c65c0259a7b881e9a4eb5a..7435a8356eaab64fa4358be20ebd6fbcd0daff08 100644
--- a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
+++ b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
@@ -28,4 +28,31 @@ public class DotsAndBoxesGridTest {
     }
 
     // FIXME: You need to write tests for the two known bugs in the code.
+    
+    @Test
+    public void boxCompleteDetectsCompletedBoxes() {
+        DotsAndBoxesGrid case1 = new DotsAndBoxesGrid(5, 5, 2);
+        case1.drawHorizontal(0, 0, 0);
+        case1.drawVertical(0, 0, 1);
+        case1.drawHorizontal(0, 1, 0);
+        case1.drawVertical(1, 0, 1);
+        assertTrue(case1.boxComplete(0, 0));
+    }
+
+    @Test
+    public void boxCompleteDetectsIncompleteBoxes() {
+        DotsAndBoxesGrid case2 = new DotsAndBoxesGrid(5, 5, 2);
+        case2.drawHorizontal(0, 0, 0);
+        case2.drawVertical(0, 0, 1);
+        assertFalse(case2.boxComplete(0, 0));
+    }
+
+    @Test
+    public void checkDrawLineException() {
+        DotsAndBoxesGrid case3 = new DotsAndBoxesGrid(5, 5, 2);
+        case3.drawHorizontal(0, 0, 0);
+        case3.drawVertical(0, 0, 1);
+        assertThrows(IllegalArgumentException.class, () -> case3.drawHorizontal(0, 0, 0));
+        assertThrows(IllegalArgumentException.class, () -> case3.drawVertical(0, 0, 1));
+    }
 }