|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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() {
- // Arrange: eine lebende Zellen
- Life l = new Life();
- l.setAlive(0, 0);
-
-
- // Act: Berechnung der Folgegeneration
- ILife nextGen = l.nextGeneration();
-
- // Assert: Rasterpunkt mit einem Nachbarn sollte sterben
- assertFalse(nextGen.isAlive(1, 1));
- }
-
-
- @Test
- public void keepAliveCell() {
- // Arrange: drei lebende Zellen
- Life l = new Life();
- l.setAlive(0, 0);
- l.setAlive(0, 1);
- l.setAlive(1, 1);
-
- // Act: Berechnung der Folgegeneration
- ILife nextGen = l.nextGeneration();
-
- // Assert: Rasterpunkt mit zwei Nachbarn sollte überleben
- assertTrue(nextGen.isAlive(1, 1));
- }
-
-
- @Test
- public void destroyCrowdedCell() {
- // Arrange: fünf lebende Zellen
- Life l = new Life();
- l.setAlive(0, 0);
- l.setAlive(0, 1);
- l.setAlive(0, 2);
- l.setAlive(1, 0);
- l.setAlive(1, 1);
-
- // Act: Berechnung der Folgegeneration
- ILife nextGen = l.nextGeneration();
-
- // Assert: Rasterpunkt mit mehr als drei Nachbarn sollte sterben
- assertFalse(nextGen.isAlive(1, 1));
- }
-
-
- }
|