Skip to content
Snippets Groups Projects
Commit 858f340d authored by Will Billingsley's avatar Will Billingsley
Browse files

test passed

parent b5aee7fa
No related branches found
No related tags found
No related merge requests found
......@@ -8,24 +8,40 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class DotsAndBoxesGridTest {
/*
* Because Test classes are classes, they can have fields, and can have static fields.
* This field is a logger. Loggers are like a more advanced println, for writing messages out to the console or a log file.
*/
private static final Logger logger = LogManager.getLogger(DotsAndBoxesGridTest.class);
/*
* Tests are functions that have an @Test annotation before them.
* The typical format of a test is that it contains some code that does something, and then one
* or more assertions to check that a condition holds.
*
* This is a dummy test just to show that the test suite itself runs
*/
@Test
public void testTestSuiteRuns() {
logger.info("Dummy test to show the test suite runs");
assertTrue(true);
}
// FIXME: You need to write tests for the two known bugs in the code.
@Test
public void testSquareCompletion() {
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(2, 2, 2);
// Draw lines to complete a square
grid.drawLine(0, 0, 0, 1); // vertical
grid.drawLine(0, 1, 1, 1); // horizontal
grid.drawLine(1, 0, 1, 1); // vertical
boolean completed = grid.drawLine(0, 0, 1, 0); // horizontal, should complete the square
assertTrue(completed, "Square should be completed");
assertEquals(1, grid.getBoxOwner(0, 0), "Player 1 should own the square");
}
@Test
public void testDrawingExistingLine() {
DotsAndBoxesGrid grid = new DotsAndBoxesGrid(2, 2, 2);
// Draw a line
grid.drawLine(0, 0, 0, 1);
// Draw the same line again
IllegalStateException exception = assertThrows(IllegalStateException.class, () -> {
grid.drawLine(0, 0, 0, 1);
});
assertEquals("This vertical line is already drawn.", exception.getMessage());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment