Test destroyCrowdedCell()

This commit is contained in:
Susanne 2025-02-16 16:08:03 +01:00
parent 903c86b099
commit b1ffd970ab
2 changed files with 18 additions and 0 deletions

View File

@ -46,6 +46,24 @@ public class LifeTest {
@Test @Test
public void destroyCrowdedCell() { public void destroyCrowdedCell() {
// Zellen mit mehr als drei Nachbarn sterben (Überbevölkerung). // 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.
} }