import org.junit.Test; import static org.junit.Assert.*; public class LifeTest { @Test public void createNewCell() { // Arrange: drei lebende Zellen Life l = new Life(); l.setAlive(0, 0); l.setAlive(0, 1); l.setAlive(0, 2); // Act: Berechnung der Folgegeneration l.nextGeneration(); // Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben assertTrue(l.isAlive(1, 1)); } @Test public void destroyLonelyCell() { //Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben in der Folgegeneration an Einsamkeit. // Arrange: drei lebende Zellen Life l = new Life(); l.setAlive(0, 0); l.setAlive(0, 1); l.setAlive(0, 2); // Act: Berechnung der Folgegeneration l.nextGeneration(); // Assert: Rasterpunkt mit weniger als zwei Nachbarn sollte sterben assertFalse(l.isAlive(0, 0)); } @Test public void keepAliveCell() { //Eine lebende Zelle mit zwei oder drei lebenden Nachbarn bleibt in der Folgegeneration am Leben. // Arrange: drei lebende Zellen Life l = new Life(); l.setAlive(0, 0); l.setAlive(0, 1); l.setAlive(0, 2); // Act: Berechnung der Folgegeneration l.nextGeneration(); // Assert: Rasterpunkt mit zwei oder 3 lebenden Nachbarn bleibt am Leben assertTrue(l.isAlive(0, 1)); } @Test public void destroyCrowdedCell() { } }