import org.junit.Test; import static org.junit.Assert.*; public class LifeTestUntererRand { @Test public void createNewCell() { // Arrange: drei lebende Zellen Life l = new Life(); l.setAlive(0, 4); l.setAlive(1, 4); l.setAlive(2, 4); l.printWelt(); // Act: Berechnung der Folgegeneration ILife nextGen = l.nextGeneration(); nextGen.printWelt(); // Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben assertTrue(nextGen.isAlive(1, 4)); } @Test public void destroyLonelyCell() { // Arrange: drei lebende Zellen Life l = new Life(); l.setAlive(1, 4); // Act: Berechnung der Folgegeneration ILife nextGen = l.nextGeneration(); nextGen.printWelt(); // Assert: Rasterpunkt ohne Nachbarn sollte jetzt tot sein assertTrue(nextGen.isDead(1, 4)); } @Test public void keepAliveCell() { // Arrange: drei lebende Zellen Life l = new Life(); l.setAlive(0, 4); l.setAlive(1, 4); l.setAlive(2, 4); l.printWelt(); // Act: Berechnung der Folgegeneration ILife nextGen = l.nextGeneration(); nextGen.printWelt(); // Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben assertTrue(nextGen.isAlive(1, 4)); } @Test public void destroyCrowdedCell() { // Arrange: drei lebende Zellen Life l = new Life(); l.setAlive(0, 4); l.setAlive(0, 3); l.setAlive(1, 4); l.setAlive(2, 4); l.setAlive(1, 3); l.printWelt(); // Act: Berechnung der Folgegeneration ILife nextGen = l.nextGeneration(); nextGen.printWelt(); // Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben assertTrue(nextGen.isDead(1, 4)); assertTrue(nextGen.isDead(1, 3)); } }