Aufgabe auf dem dritten Praktikum
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 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. //Bearbeitet von: Marie Trexler
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class LifeTest {
  5. @Test
  6. public void nuke() {
  7. // Arrange: drei lebende Zellen
  8. Life l = new Life();
  9. l.setAlive(0, 0);
  10. l.setAlive(0, 1);
  11. l.setAlive(0, 2);
  12. // Act: Alles wird ausgelöscht
  13. l.nukeAll();
  14. // Assert: Alle Rasterpunkt sterben
  15. assertFalse(l.isAlive(0, 1));
  16. }
  17. @Test
  18. public void createNewCell() {
  19. // Arrange: drei lebende Zellen
  20. Life l = new Life();
  21. l.setAlive(0, 0);
  22. l.setAlive(0, 1);
  23. l.setAlive(0, 2);
  24. // Act: Berechnung der Folgegeneration
  25. ILife nextGen = l.nextGeneration();
  26. // Assert: Rasterpunkt mit drei Nachbarn sollte jetzt leben
  27. assertTrue(nextGen.isAlive(1, 1));
  28. }
  29. @Test
  30. public void destroyLonelyCell() {
  31. // Arrange: drei lebende Zellen
  32. Life l = new Life();
  33. l.setAlive(0, 0);
  34. l.setAlive(0, 1);
  35. l.setAlive(0, 2);
  36. // Act: Berechnung der Folgegeneration
  37. ILife nextGen = l.nextGeneration();
  38. // Assert: Rasterpunkt mit weniger als zwei Nachbarn soll sterben
  39. assertFalse(nextGen.isAlive(0, 2));
  40. }
  41. @Test
  42. public void keepAliveCell() {
  43. // Arrange: drei lebende Zellen
  44. Life l = new Life();
  45. l.setAlive(0, 0);
  46. l.setAlive(0, 1);
  47. l.setAlive(0, 2);
  48. // Act: Berechnung der Folgegeneration
  49. ILife nextGen = l.nextGeneration();
  50. // Assert: Rasterpunkt mit mindestens zwei aber weniger als vier Nachbarn soll leben
  51. assertTrue(nextGen.isAlive(0, 1));
  52. }
  53. @Test
  54. public void destroyCrowdedCell() {
  55. // Arrange: fünf lebende Zellen
  56. Life l = new Life();
  57. l.setAlive(0, 0);
  58. l.setAlive(0, 1);
  59. l.setAlive(0, 2);
  60. l.setAlive(1, 1);
  61. l.setAlive(1, 0);
  62. // Act: Berechnung der Folgegeneration
  63. ILife nextGen = l.nextGeneration();
  64. // Assert: Rasterpunkt mit mehr als drei Nachbarn soll sterben
  65. assertFalse(nextGen.isAlive(0, 1));
  66. }
  67. }