1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 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: 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 einem Nachbar soll tot sein
- assertFalse(nextGen.isAlive(0, 2));
- }
-
-
- @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
- ILife nextGen = l.nextGeneration();
-
-
- // Assert: Rasterpunkt mit zwei Nachbarn sollte jetzt am Leben bleiben
- assertTrue(nextGen.isAlive(0, 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, 1);
- l.setAlive(1, 0);
-
- // Act: Berechnung der Folgegeneration
- ILife nextGen = l.nextGeneration();
-
-
- // Assert: Rasterpunkt mit vier Nachbarn sollte jetzt tot sein
- assertFalse(nextGen.isAlive(0, 1));
- }
-
-
- }
|