From 02798088a07a04881dbabd884811f4be84225d9c Mon Sep 17 00:00:00 2001
From: Carla Baldassara <cbaldass@myune.edu.au>
Date: Wed, 14 Jul 2021 19:42:15 +1000
Subject: [PATCH] Do not fix the bugs in the commit. The units tests should
 fail.

---
 .../dotsandboxes/DotsAndBoxesGridTest.java    | 89 ++++++++++++-------
 1 file changed, 58 insertions(+), 31 deletions(-)

diff --git a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
index 1946bed..9a6fe4b 100644
--- a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
+++ b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java
@@ -1,31 +1,58 @@
-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.
-}
+package dotsandboxes;
+
+import org.junit.jupiter.api.*;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+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
+    public void testBoxComplete() {
+        logger.info("testing whether the box is complete is wrong");
+        int x = 1;
+        int y = 1;
+        int p = 1;
+        DotsAndBoxesGrid z = new DotsAndBoxesGrid(x, y, p);
+
+        assertTrue(z.boxComplete(x, y));
+
+    }
+
+    @Test
+    public void testExistingLine (){
+        logger.info("testing exception is thrown when line exists");
+        int x = 1;
+        int y = 1;
+        int p = 1;
+
+        DotsAndBoxesGrid z = new DotsAndBoxesGrid(x, y, p);
+
+        z.getHorizontal(x, y);
+
+        assertThrows(IllegalStateException.class, () -> z.drawHorizontal(x, y, p), "The line exists");
+    }
+
+}
\ No newline at end of file
-- 
GitLab