From de4783d4dcf9fe46f7e454da36b4393002ada515 Mon Sep 17 00:00:00 2001 From: Martin Schreiber <mschreib@myune.edu.au> Date: Thu, 22 Jul 2021 17:12:19 +0930 Subject: [PATCH] added unit tests for issue #1 --- .../dotsandboxes/DotsAndBoxesGridTest.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java index 1aac7cc..4f6190a 100644 --- a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java +++ b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java @@ -21,11 +21,60 @@ public class DotsAndBoxesGridTest { * * 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); } + @Test + public void noLinesDrawnTest() { + logger.error("Test whether boxComplete shows false with no lines drawn"); + DotsAndBoxesGrid grid = new DotsAndBoxesGrid(15, 8, 2); + assertFalse(grid.boxComplete(0, 0)); + } + + @Test + public void oneLineTest() { + logger.error("Test whether boxComplete shows false with one line on each side drawn"); + DotsAndBoxesGrid grid = new DotsAndBoxesGrid(15, 8, 2); + grid.drawHorizontal(0,0,1); + grid.drawVertical(0,0,1); + assertFalse(grid.boxComplete(0, 0)); + } + + @Test + public void completeBoxTest() { + logger.error("Test whether boxComplete shows true with whole box"); + DotsAndBoxesGrid grid = new DotsAndBoxesGrid(15, 8, 2); + grid.drawHorizontal(0,0,1); + grid.drawHorizontal(0,1,1); + grid.drawVertical(0,0,1); + grid.drawVertical(1,0,1); + assertTrue(grid.boxComplete(0, 0)); + } + @Test + public void horizontalReDrawTest() { + logger.error("Test whether drawHorizontal throws exception if line is already present"); + DotsAndBoxesGrid grid = new DotsAndBoxesGrid(15, 8, 2); + grid.drawHorizontal(0,0,1); + assertThrows(RuntimeException.class, () -> grid.boxComplete(0, 0)); + } + @Test + public void verticalReDrawTest() { + logger.error("Test whether drawHorizontal throws exception if line is already present"); + DotsAndBoxesGrid grid = new DotsAndBoxesGrid(15, 8, 2); + grid.drawVertical(0,0,1); + assertThrows(RuntimeException.class, () -> grid.drawVertical(0, 0,1)); + } + + + + + + + + // FIXME: You need to write tests for the two known bugs in the code. } -- GitLab