You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LifeTest.java 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import org.junit.Test;
  2. import static org.junit.Assert.*;
  3. public class LifeTest {
  4. @Test
  5. public void createNewCell() {
  6. // Arrange: drei lebende Zellen
  7. Life l = new Life();
  8. l.setAlive(0, 0);
  9. l.setAlive(0, 1);
  10. l.setAlive(0, 2);
  11. // Act: Berechnung der Folgegeneration
  12. l.nextGeneration();
  13. // Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben
  14. assertTrue(l.isAlive(1, 1));
  15. }
  16. @Test
  17. public void destroyLonelyCell() {
  18. // Arrange: drei lebende Zellen
  19. Life l = new Life();
  20. l.setAlive(0, 0);
  21. l.setAlive(0, 1);
  22. l.setAlive(0, 2);
  23. // Act: Berechnung der Folgegeneration
  24. l.nextGeneration();
  25. // Assert: Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben in der Folgegeneration an Einsamkeit
  26. assertFalse(l.isAlive(0, 0));
  27. }
  28. @Test
  29. public void keepAliveCell() {
  30. // Arrange: drei lebende Zellen
  31. Life l = new Life();
  32. l.setAlive(0, 0);
  33. l.setAlive(0, 1);
  34. l.setAlive(0, 2);
  35. // Act: Berechnung der Folgegeneration
  36. l.nextGeneration();
  37. // Assert: Eine lebende Zelle mit zwei oder drei lebenden Nachbarn bleibt in der Folgegeneration am Leben.
  38. assertTrue(l.isAlive(0, 1));
  39. }
  40. @Test
  41. public void destroyCrowdedCell() {
  42. // Arrange: vier lebende Zellen
  43. Life l = new Life();
  44. l.setAlive(0, 0);
  45. l.setAlive(0, 1);
  46. l.setAlive(0, 2);
  47. l.setAlive(1, 1);
  48. l.setAlive(1, 0);
  49. // Act: Berechnung der Folgegeneration
  50. l.nextGeneration();
  51. // Assert: Lebende Zellen mit mehr als drei lebenden Nachbarn sterben in der Folgegeneration an Überbevölkerung
  52. assertFalse(l.isAlive(0, 1));
  53. }
  54. }