Fertige Abgabe mit mehreren Tests

This commit is contained in:
juleslepitschka
2021-12-23 19:07:14 +01:00
parent 09a995eccf
commit f4e71a0f16
3 changed files with 124 additions and 21 deletions
+41 -11
View File
@@ -2,37 +2,67 @@ import org.junit.Test;
import static org.junit.Assert.*;
public class LifeTest {
@Test
public void createNewCell() {
// Arrange: drei lebende Zellen
// Arrange (drei lebende Zellen)
Life l = new Life();
l.setAlive(0, 0);
l.setAlive(0, 1);
l.setAlive(0, 2);
// Act: Berechnung der Folgegeneration
// Act (Berechnung der Folgegeneration)
ILife nextGen = l.nextGeneration();
// Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben
// Assert (Rasterpunkt mit drei Nachbarn sollte jetzt leben)
assertTrue(nextGen.isAlive(1, 1));
}
@Test
public void destroyLonelyCell() {
}
// Arrange (vier lebende Zellen)
Life firstGen = new Life();
firstGen.setAlive(0, 0);
firstGen.setAlive(0, 1);
// Act (Berechnung der Folgegeneration)
ILife nextGen = firstGen.nextGeneration();
// Assert (Rasterpunkt ohne Nachbarn sollte jetzt sterben)
assertTrue(nextGen.isDead(0, 0));
assertTrue(nextGen.isDead(0, 1));
}
@Test
public void keepAliveCell() {
}
// Arrange (drei lebende Zellen)
Life firstGen = new Life();
firstGen.setAlive(1, 1);
firstGen.setAlive(2, 2);
firstGen.setAlive(3, 3);
// Act (Berechnung der Folgegeneration)
ILife nextGen = firstGen.nextGeneration();
// Assert (Rasterpunkt bleibt am Leben)
assertTrue(nextGen.isAlive(2, 2));
}
@Test
public void destroyCrowdedCell() {
// Arrange (drei lebende Zellen)
Life firstGen = new Life();
firstGen.setAlive(0, 0);
firstGen.setAlive(0, 1);
firstGen.setAlive(0, 2);
firstGen.setAlive(1, 0);
firstGen.setAlive(1, 1);
// Act (Berechnung der Folgegeneration)
ILife nextGen = firstGen.nextGeneration();
// Assert (Rasterpunkt stirbt wegen Überbevölkerung)
assertTrue(nextGen.isDead(0, 1));
assertTrue(nextGen.isDead(1, 1));
}
}
}