From a63fb8529ff56b27324457be27518d7830190b39 Mon Sep 17 00:00:00 2001 From: Curtis James Moore <cmoore44@myune.edu.au> Date: Sun, 30 Jul 2023 16:54:21 +1000 Subject: [PATCH] Added tests to check if horizontal and vertical lines are appropriately drawn. Also added test to check if boxComplete correctly checks if a box is complete --- .DS_Store | Bin 0 -> 6148 bytes .../dotsandboxes/DotsAndBoxesGridTest.java | 64 +++++++++++++++++- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..623a308bc6a57189af730efded58d174ec06a3e3 GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8zEL;p&0Z1N%F(jFwBHSSJKxX78C*|ZPL5+h-j#8r` zFd71bHUvO<mzg1nA(J7`GY2LAIx;XY==}!+u<KbFk{C)EG8u9hQqWYc$E`A{ytn{b zChSNm$jK}&F)+Bs$i&RT%Er#Y&cV$Q8=R3}9$b=GQd;bkSQHK7h2-bwB*EB;Nnx3( z<?#X{&iQ#IiJ5t+MIa@?nJKABiA6EtnRzMs<xcsfc`3zUy-*1bP7cm^0g38rQzHW% z1tUYFS{;RIOAy<{*sQjelS5Ql-#REhJ0~|UzYFX;21Z5*&A<z#VN^E*0|S!Z%YuvY za`N-iA!Qx|4<b|;^cd0^iWm|ZQW$a=Qc=T*Q5G$X*zl+Y*@ztS?8s^v%F#^ziDoi4 zs%i#3h9rhWh7wd=44~MZ2aeqTV2^S#1TnZWI5M~}_%gUM=rQDCjb&sV{0zkmsSG6y zC7`s!kj_v{(ErG~nHh>1iWrhnUBw9UIkGCS(?$szg#a|gbAZYK8d))F>}Uv#hQJUF z0Z{p%0Ila7pmYO-21zk6GBAL<0E`R_EHE!Jg8BgvH6X1ZH6X1Z8l;th5yS$^gS9d+ zLbWo2yCDn=jNmQ_hz4tCU}OMmXJBLiYlm0Uj1cV%j8K~yp*<8vP>%*=K14eMBSbsQ zd871b2#kgRGz6F-v;e67cV%F})&Ga68YM?VU^E1VWe6~`xCFa6fhtWL-UHROp!zfc zDi5mtLDexMsGf%C11SN^GC>9uCBPhr97rpu+6Py~j0}*Pe6%3|3!zbZGz91$0syvl BzqbGY literal 0 HcmV?d00001 diff --git a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java index 1946bed..cb847ec 100644 --- a/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java +++ b/src/test/java/dotsandboxes/DotsAndBoxesGridTest.java @@ -26,6 +26,68 @@ public class DotsAndBoxesGridTest { logger.info("Dummy test to show the test suite runs"); assertTrue(true); } + + @Test + public void testBoxCompleteFalse() { + //Creating a box that should be incorrect and checking if it returns false + DotsAndBoxesGrid boxCompleteFalse = new DotsAndBoxesGrid(5, 5, 2); + boxCompleteFalse.drawHorizontal(0, 0, 0); + boxCompleteFalse.drawVertical(0, 0, 1); + boxCompleteFalse.drawHorizontal(0, 1, 0); + boxCompleteFalse.drawVertical(1, 1, 1); + + assertFalse(boxCompleteFalse.boxComplete(0, 0)); + } + + @Test + public void testBoxCompleteTrue() { + //Creating a box that should be correct and checking if it returns true + DotsAndBoxesGrid boxCompleteTrue = new DotsAndBoxesGrid(5, 5, 2); + boxCompleteTrue.drawHorizontal(0, 0, 0); + boxCompleteTrue.drawVertical(0, 0, 1); + boxCompleteTrue.drawHorizontal(0, 1, 0); + boxCompleteTrue.drawVertical(1, 0, 1); + + assertTrue(boxCompleteTrue.boxComplete(0, 0)); + } + + @Test + public void testDrawHorizontalDrawn() { + //Draws a horizontal line, then draws another horizontal line in the same + //place to check if an exception is appropriately thrown + DotsAndBoxesGrid horizontalDrawn = new DotsAndBoxesGrid(5, 5, 1); + horizontalDrawn.drawHorizontal(0, 0, 1); + assertThrows(RuntimeException.class, () -> { + horizontalDrawn.drawHorizontal(0, 0, 1); + }); + } - // FIXME: You need to write tests for the two known bugs in the code. + @Test + public void testDrawHorizontalNotDrawn() { + //Draws a horizontal line to check if no exception is thrown + DotsAndBoxesGrid horizontalNotDrawn = new DotsAndBoxesGrid(5, 5, 1); + assertDoesNotThrow(() -> { + horizontalNotDrawn.drawHorizontal(0, 0, 1); + }); + } + + @Test + public void testDrawVerticalDrawn() { + //Draws a vertical line, then draws another vertical line in the same + //place to check if an exception is appropriately thrown + DotsAndBoxesGrid verticalDrawn = new DotsAndBoxesGrid(5, 5, 1); + verticalDrawn.drawVertical(0, 0, 1); + assertThrows(RuntimeException.class, () -> { + verticalDrawn.drawVertical(0, 0, 1); + }); + } + + @Test + public void testDrawVerticalNotDrawn() { + //Draws a vertical line to check if no exception is thrown + DotsAndBoxesGrid verticalNotDrawn = new DotsAndBoxesGrid(5, 5, 1); + assertDoesNotThrow(() -> { + verticalNotDrawn.drawVertical(0, 0, 1); + }); + } } -- GitLab