diff --git a/out/test/GameOfLifeAssignment/LifeTest.class b/out/test/GameOfLifeAssignment/LifeTest.class index 82df7e4..8f0a18b 100644 Binary files a/out/test/GameOfLifeAssignment/LifeTest.class and b/out/test/GameOfLifeAssignment/LifeTest.class differ diff --git a/test/LifeTest.java b/test/LifeTest.java index 4b1340c..7393eef 100644 --- a/test/LifeTest.java +++ b/test/LifeTest.java @@ -46,6 +46,24 @@ public class LifeTest { @Test public void destroyCrowdedCell() { // Zellen mit mehr als drei Nachbarn sterben (Überbevölkerung). + + // Arrange: lebende Zelle (1,1) hat mehr als drei Nachbarn und sollte sterben. + Life l = new Life(); + l.setAlive(1, 1); + l.setAlive(0, 0); + l.setAlive(0, 1); + l.setAlive(0, 2); + l.setAlive(1, 0); + + // Act: Berechnung der Folgegeneration + ILife nextGen = l.nextGeneration(); + + // Assert: Zelle (1,1) sollte tot sein + assertFalse(nextGen.isAlive(1, 1)); + + // Test passed wieder sofort, obwohl ich noch keine weitere Überprüfung eingebaut habe, aus zuvor beschriebenem + // Grund, dass Zellen in der nextGen grundsätzlich mit false initialisiert werden, solange man sie nicht + // explizit mit setAlive() auf true setzt. }