Skip to content
Snippets Groups Projects
Commit cd65fb39 authored by Zach Swann's avatar Zach Swann
Browse files

Unit Tests for Complete Box and Line drawn twice Added

parent f98f4e30
No related branches found
No related tags found
1 merge request!1bugfix Fixed Fail Test Line Drawn Twice and Test Box Complete Now Passes, A...
......@@ -28,4 +28,91 @@ public class DotsAndBoxesGridTest {
}
// FIXME: You need to write tests for the two known bugs in the code.
@Test
public void testTestCompleteBox(){
logger.info("Tests the algorithm for whether a box is complete");
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(10, 10, 2);
//Create TestBoxes
grid.drawHorizontal(0,0,1);
grid.drawHorizontal(0,1,1);
grid.drawVertical(1,0,1);
grid.drawVertical(0,0,1);
grid.drawHorizontal(0,1,1);
grid.drawHorizontal(1,1,1);
grid.drawVertical(2,0,2);
grid.drawVertical(1,1,1);
grid.drawVertical(0,1,1);
grid.drawHorizontal(0,2,2);
grid.drawVertical(1,2,2);
grid.drawHorizontal(0,3,2);
grid.drawHorizontal(1,3,2);
grid.drawVertical(2,2,2);
grid.drawVertical(2,1,1);
grid.drawHorizontal(2,2,2);
grid.drawHorizontal(2,3,2);
grid.drawHorizontal(2,1,2);
grid.drawVertical(3,1,2);
grid.drawHorizontal(2,0,1);
grid.drawVertical(3,0,2);
grid.drawVertical(2,3,2);
//Outbounds
assertFalse(grid.boxComplete(0,-1));
assertFalse(grid.boxComplete(0,10));
assertFalse(grid.boxComplete(-1,0));
assertFalse(grid.boxComplete(10,0));
//Complete Box
assertTrue(grid.boxComplete(0,0));
assertTrue(grid.boxComplete(1,0));
assertTrue(grid.boxComplete(2,0));
assertTrue(grid.boxComplete(2,1));
assertTrue(grid.boxComplete(0,1));
assertFalse(grid.boxComplete(1,1));
assertFalse(grid.boxComplete(1,2));
assertFalse(grid.boxComplete(0,2));
assertFalse(grid.boxComplete(1,2));
assertFalse(grid.boxComplete(2,2));
assertFalse(grid.boxComplete(0,3));
assertFalse(grid.boxComplete(1,3));
assertFalse(grid.boxComplete(2,3));
assertFalse(grid.boxComplete(3,3));
}
@Test
public void testTestExceptionOnLineDrawnTwice(){
logger.info("Tests Exception is thrown when a line is drawn twice.");
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(10, 10, 2);
grid.drawHorizontal(0,0,1);
grid.drawHorizontal(0,9,1);
grid.drawHorizontal(9,1,1);
grid.drawHorizontal(9,1,1);
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(0,0,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(0,0,1));
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(0,9,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(0,9,1));
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(9,1,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(9,1,1));
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(9,1,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawHorizontal(9,1,1));
grid.drawVertical(0,0,1);
grid.drawVertical(0,9,1);
grid.drawVertical(9,1,1);
grid.drawVertical(9,1,1);
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(0,0,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(0,0,1));
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(0,9,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(0,9,1));
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(9,1,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(9,1,1));
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(9,1,2));
assertThrows(IllegalArgumentException.class, ()->grid.drawVertical(9,1,1));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment