Skip to content
Snippets Groups Projects
Commit 00bcf105 authored by Simit Shrestha's avatar Simit Shrestha
Browse files

Added test unit to test and detect the error in the program

parent 463054cd
No related branches found
No related tags found
No related merge requests found
......@@ -28,4 +28,48 @@ public class DotsAndBoxesGridTest {
}
// FIXME: You need to write tests for the two known bugs in the code.
@Test
public void testBoxComplete() {
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(4, 3, 2);
// Draw the lines surrounding a box
grid.drawHorizontal(0, 0, 1);
grid.drawHorizontal(0, 1, 1);
grid.drawVertical(0, 0, 1);
grid.drawVertical(1, 0, 1);
// Check if the box is complete
assertTrue(grid.boxComplete(0, 0), "Box should be complete");
// Draw additional lines for another box
grid.drawHorizontal(1, 0, 1);
grid.drawHorizontal(1, 1, 1);
grid.drawVertical(2, 0, 1);
grid.drawVertical(2, 1, 1);
// Check if the new box is complete
assertTrue(grid.boxComplete(1, 0), "Box should be complete");
}
@Test
public void testDrawHorizontalLineAlreadyDrawn() {
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(4, 3, 2);
// Draw a horizontal line
grid.drawHorizontal(0, 0, 1);
// Attempt to draw the same line again, which should throw an exception
IllegalStateException thrown = assertThrows(IllegalStateException.class, () -> grid.drawHorizontal(0, 0, 1));
logger.info(thrown.getMessage());
}
@Test
public void testDrawVerticalLineAlreadyDrawn() {
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(4, 3, 2);
// Draw a vertical line
grid.drawVertical(0, 0, 1);
// Attempt to draw the same line again, which should throw an exception
IllegalStateException thrown = assertThrows(IllegalStateException.class, () -> grid.drawVertical(0, 0, 1));
logger.info(thrown.getMessage());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment