Skip to content
Snippets Groups Projects
Commit aeec4f07 authored by Anudip Chauhan's avatar Anudip Chauhan
Browse files

add unit tests

parent 517b89de
No related branches found
No related tags found
No related merge requests found
......@@ -28,4 +28,39 @@ public class DotsAndBoxesGridTest {
}
// FIXME: You need to write tests for the two known bugs in the code.
@Test
public void testBoxCompletionDetection() {
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(4, 3, 2);
/ Draw only three sides of a box (not completing it)
grid.drawHorizontal(0, 0, 1); // Top
grid.drawVertical(0, 0, 1); // Left
grid.drawHorizontal(0, 1, 1); // Bottom
// Check if the box at (0, 0) is incorrectly identified as completed
assertTrue(grid.boxComplete(0, 0), "The box should not be completed.");
}
@Test
public void testBoxComplete() {
// Draw lines around a box and check if it's completed
game.drawHorizontal(0, 0, 1); // Top horizontal line
game.drawVertical(0, 0, 1); // Left vertical line
game.drawHorizontal(0, 1, 1); // Bottom horizontal line
game.drawVertical(1, 0, 1); // Right vertical line
assertTrue("Box should be completed", game.boxComplete(0, 0));
}
@Test(expected = IllegalStateException.class)
public void testDrawHorizontalLineAlreadyDrawn() {
game.drawHorizontal(0, 0, 1);
game.drawHorizontal(0, 0, 1); // Drawing the same line should throw an exception
}
@Test(expected = IllegalStateException.class)
public void testDrawVerticalLineAlreadyDrawn() {
game.drawVertical(0, 0, 1);
game.drawVertical(0, 0, 1); // Drawing the same line should throw an exception
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment