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