Triangle Checker
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.

README.md 2.5KB

2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <<<<<<< HEAD
  2. # TriangleChecker
  3. Triangle Checker
  4. =======
  5. # Software Engineering im Studiengang Media Engineering
  6. ## Assignment "TDD Einführung"
  7. ### Ausgangssituation
  8. #### Test Driven Development (TDD)
  9. Bei TDD gilt die Regel: Produktivcode darf erst geschrieben werden, wenn
  10. ein Test vorliegt, der scheitert. Und auch dann soll nur gerade so
  11. viel Code geschrieben werden, um den Testfall (und alle anderen Tests)
  12. erfolgreich ausführen zu können.
  13. #### Struktur des Assignments
  14. Das Assignment besteht aus zwei Java-Klassen:
  15. - <code>TriangleChecker</code> enthält den Produktivcode
  16. - <code>TriangleCheckerTest</code> enthält die Tests
  17. Mit Hilfe von TDD soll insbesondere die Methode
  18. <code>
  19. checkTriangle(float a, float b, float c)
  20. </code>
  21. entwickelt werden. Diese Methode hat die Aufgabe, anhand
  22. der übergebenen drei Seitenlängen zu entscheiden, ob es
  23. sich um ein normales, ein gleichschenkliges, ein
  24. gleichseitiges oder gar kein Dreieck handelt.
  25. ### Aufgabenstellung
  26. #### Normales Dreieck
  27. Mit dem Assignment kommt ein erster Testfall,
  28. der überprüft, ob ein normales Dreieck richtig erkannt
  29. wird. Sorgen Sie dafür, dass der Testfall nicht mehr scheitert.
  30. Achten Sie darauf, dass Sie nicht mehr implementieren, als
  31. zur Lösung dieses Testfalls notwendig ist. Weitere
  32. Fälle müssen noch nicht erkannt werden.
  33. #### Gleichseitiges Dreieck
  34. Erstellen Sie nun einen Testfall, der überprüft,
  35. ob ein gleichseitiges Dreieck erkannt wird.
  36. Da Sie bisher nur normale Dreiecke identifizieren,
  37. wird dieser Testfall zunächst scheitern.
  38. Nehmen Sie nun minimale Änderungen am Produktivcode vor,
  39. so dass beide Testfälle fehlerfrei ausgeführt werden.
  40. #### Kein Dreieck
  41. Es gibt Zahlenkombinationen, die nicht zu einem
  42. Dreieck passen (z.B. negative Zahlen oder
  43. eine überlange Seite, so dass die anderen beiden
  44. Seiten das Dreieck nicht abschließen können).
  45. Erstellen Sie jeweils eigene Testfälle für diese
  46. Art von Zahlenkombinationen. Das sind mindestens
  47. 6 weitere Testfälle (warum?).
  48. Korrigieren Sie anschließend den Produktivcode,
  49. so dass alle Tests durchlaufen.
  50. #### Gleichschenkliges Dreieck
  51. Schließlich sollen noch gleichschenklige Dreiecke
  52. erkannt werden. Dabei soll die
  53. Methode stets die genaueste Information
  54. zurückliefern, d.h.
  55. - bei einem gleichseitigen Dreieck *EQUILATERAL*, auch wenn
  56. ein gleichseitiges Dreieck natürlich auch gleichschenklig
  57. ist.
  58. - bei einem gleichschenkligem Dreieck *ISOSCELES*, auch wenn
  59. ein gleichschenkliges Dreieck natürlich auch ein
  60. normales Dreieck ist.
  61. Verwenden Sie auch hier die TDD-Vorgehensweise.
  62. >>>>>>> 57ef7d2 (Init)