Leider habe ich zu spät realisiert, dass nach dem bestehen des ersten Testes die anderen Test auch grün werden nachdem ich sie geschrieben habe. Ich hoffe meine Abgabe passt trotzallem, bei Rückfragen können Sie sich gerne melden.
65 lines
1.2 KiB
Java
65 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() {
|
|
Life l = new Life();
|
|
l.setAlive(1,1);
|
|
|
|
ILife nextGen = l.nextGeneration();
|
|
|
|
assertFalse(nextGen.isAlive(1,1));
|
|
}
|
|
|
|
|
|
@Test
|
|
public void keepAliveCell() {
|
|
Life l = new Life();
|
|
|
|
l.setAlive(1,1);
|
|
l.setAlive(1,2);
|
|
l.setAlive(2,1);
|
|
|
|
ILife nextGen = l.nextGeneration();
|
|
|
|
assertTrue(nextGen.isAlive(1,1));
|
|
}
|
|
|
|
|
|
@Test
|
|
public void destroyCrowdedCell() {
|
|
Life l = new Life();
|
|
|
|
l.setAlive(2,1);
|
|
l.setAlive(1,1);
|
|
l.setAlive(1,2);
|
|
l.setAlive(2,2);
|
|
l.setAlive(3,1);
|
|
|
|
ILife nextGen = l.nextGeneration();
|
|
|
|
assertFalse(nextGen.isAlive(2,1));
|
|
}
|
|
|
|
|
|
}
|