diff --git a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
index 1946beda974d180686c65c0259a7b881e9a4eb5a..eccd78b06ca91551acb920e8a6eb457bef18b206 100644
--- a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
+++ b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
@@ -2,30 +2,43 @@ package dotsandboxes;
 
 import org.junit.jupiter.api.*;
 import static org.junit.jupiter.api.Assertions.*;
-import static org.junit.jupiter.api.Assumptions.*;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
 public class DotsAndBoxesGridTest {
-    /*
-     * Because Test classes are classes, they can have fields, and can have static fields.
-     * This field is a logger. Loggers are like a more advanced println, for writing messages out to the console or a log file.
-     */
     private static final Logger logger = LogManager.getLogger(DotsAndBoxesGridTest.class);
 
-    /*
-     * 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
-     * or more assertions to check that a condition holds.
-     *
-     * This is a dummy test just to show that the test suite itself runs
-     */
     @Test
     public void testTestSuiteRuns() {
         logger.info("Dummy test to show the test suite runs");
         assertTrue(true);
     }
 
-    // FIXME: You need to write tests for the two known bugs in the code.
+    // Test for Bug 1: Check if a square is correctly marked as complete
+    @Test
+    public void testSquareCompletion() {
+        logger.info("Testing square completion logic");
+        DotsAndBoxesGrid game = new DotsAndBoxesGrid(4, 4, 2);
+        
+        // Simulate drawing lines to complete a square
+        game.drawHorizontal(0, 0, 1);
+        game.drawHorizontal(0, 1, 1);
+        game.drawVertical(0, 0, 1);
+        game.drawVertical(1, 0, 1);
+        
+        // Assert that the square is marked as complete
+        assertTrue(game.boxComplete(0, 0), "Square should be complete");
+    }
+
+    // Test for Bug 2: Check if an exception is thrown when a line is drawn twice
+    @Test
+    public void testDrawingLineTwice() {
+        logger.info("Testing drawing the same line twice");
+        DotsAndBoxesGrid game = new DotsAndBoxesGrid(4, 4, 2);
+        
+        // Draw the same line twice and expect an exception
+        game.drawHorizontal(0, 0, 1);
+        assertThrows(IllegalStateException.class, () -> game.drawHorizontal(0, 0, 1), "Drawing the same line twice should throw an exception");
+    }
 }