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

testsfail -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