12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 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() {
- // 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: Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben in der Folgegeneration an Einsamkeit
- assertFalse(l.isAlive(0, 0));
- }
-
- @Test
- public void keepAliveCell() {
- // 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: Eine lebende Zelle mit zwei oder drei lebenden Nachbarn bleibt in der Folgegeneration am Leben.
- assertTrue(l.isAlive(0, 1));
- }
-
- @Test
- public void destroyCrowdedCell() {
- // Arrange: vier lebende Zellen
- Life l = new Life();
- l.setAlive(0, 0);
- l.setAlive(0, 1);
- l.setAlive(0, 2);
- l.setAlive(1, 1);
- l.setAlive(1, 0);
-
- // Act: Berechnung der Folgegeneration
- l.nextGeneration();
-
- // Assert: Lebende Zellen mit mehr als drei lebenden Nachbarn sterben in der Folgegeneration an Überbevölkerung
- assertFalse(l.isAlive(0, 1));
- }
-
- }
|