|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
@Test |
|
|
public void destroyLonelyCell() { |
|
|
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 |
|
|
@Test |
|
|
public void keepAliveCell() { |
|
|
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 |
|
|
@Test |
|
|
public void destroyCrowdedCell() { |
|
|
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)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|