1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 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 (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));
- }
- }
|