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

add unit tests

parent 517b89de
Branches
Tags
No related merge requests found
...@@ -28,4 +28,39 @@ public class DotsAndBoxesGridTest { ...@@ -28,4 +28,39 @@ public class DotsAndBoxesGridTest {
} }
// FIXME: You need to write tests for the two known bugs in the code. // 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