12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //Bearbeitet von: David Papac
- import org.junit.Test;
- import static org.junit.Assert.*;
-
- public class LifeTest {
-
- @Test
- public void nuke() {
- // Arrange: drei lebende Zellen
- Life l = new Life();
- l.setAlive(0, 0);
- l.setAlive(0, 1);
- l.setAlive(0, 2);
-
- // Act: Alles wird ausgelöscht
- l.nukeAll();
-
- // Assert: Alle Rasterpunkt sterben
- assertFalse(l.isAlive(0, 1));
- }
- @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 weniger als zwei Nachbarn soll sterben
- 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 mindestens zwei aber weniger als vier Nachbarn soll leben
- 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 mehr als drei Nachbarn soll sterben
- assertFalse(nextGen.isAlive(0, 1));
- }
-
-
- }
|