diff --git a/test/LifeTest.java b/test/LifeTest.java index 3940e66..970a7a6 100644 --- a/test/LifeTest.java +++ b/test/LifeTest.java @@ -22,16 +22,50 @@ public class LifeTest { @Test public void destroyLonelyCell() { + // Arrange: eine lebende Zellen + Life l = new Life(); + l.setAlive(0, 0); + + + // Act: Berechnung der Folgegeneration + ILife nextGen = l.nextGeneration(); + + // Assert: Rasterpunkt mit einem Nachbarn sollte sterben + assertFalse(nextGen.isAlive(1, 1)); } @Test public void keepAliveCell() { + // Arrange: drei lebende Zellen + Life l = new Life(); + l.setAlive(0, 0); + l.setAlive(0, 1); + l.setAlive(1, 1); + + // Act: Berechnung der Folgegeneration + ILife nextGen = l.nextGeneration(); + + // Assert: Rasterpunkt mit zwei Nachbarn sollte überleben + assertTrue(nextGen.isAlive(1, 1)); } @Test public void destroyCrowdedCell() { + // Arrange: fünf lebende Zellen + Life l = new Life(); + l.setAlive(0, 0); + l.setAlive(0, 1); + l.setAlive(0, 2); + l.setAlive(1, 0); + l.setAlive(1, 1); + + // Act: Berechnung der Folgegeneration + ILife nextGen = l.nextGeneration(); + + // Assert: Rasterpunkt mit mehr als drei Nachbarn sollte sterben + assertFalse(nextGen.isAlive(1, 1)); }