GameOfLifeAssigment/test/LifeTest.java

53 lines
1.2 KiB
Java

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
ILife nextGen = l.nextGeneration();
// Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben
assertTrue(nextGen.isAlive(1, 1));
}
@Test
public void destroyLonelyCell() {
// Zellen, die weniger als zwei Nachbarn haben, müssen sterben (Einsamkeit).
// Arrange: lebende Zelle (1,1) hat weniger als zwei Nachbarn und sollte sterben.
Life l = new Life();
l.setAlive(1, 1);
l.setAlive(0, 0);
// Act: Berechnung der Folgegeneration
ILife nextGen = l.nextGeneration();
// Assert: Zelle (1,1) sollte tot sein
assertFalse(nextGen.isAlive(1, 1));
}
@Test
public void keepAliveCell() {
// Zellen mit zwei oder drei Nachbarn bleiben am Leben.
}
@Test
public void destroyCrowdedCell() {
// Zellen mit mehr als drei Nachbarn sterben (Überbevölkerung).
}
}