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.
Frederik Hagen cb1c503016 Check now working for all kinds of triangles. 2 years ago
.idea Check now working for all kinds of triangles. 2 years ago
jars Init 2 years ago
src Check now working for all kinds of triangles. 2 years ago
test Check now working for all kinds of triangles. 2 years ago
.gitignore Init 2 years ago
README.md Init 2 years ago
TriangleCheckerAssignment.iml Check now working for all kinds of triangles. 2 years ago
TriangleCheckerTDD.iml Init 2 years ago

README.md

Programmieren 3

Assignment “TDD Einführung”

Ausgangssituation

Test Driven Development (TDD)

Bei TDD gilt die Regel: Produktivcode darf erst geschrieben werden, wenn ein Test vorliegt, der scheitert. Und auch dann soll nur gerade so viel Code geschrieben werden, um den Testfall (und alle anderen Tests) erfolgreich ausführen zu können.

Struktur des Assignments

Das Assignment besteht aus zwei Java-Klassen:

  • TriangleChecker enthält den Produktivcode
  • TriangleCheckerTest enthält die Tests

Mit Hilfe von TDD soll insbesondere die Methode

checkTriangle(float a, float b, float c)

entwickelt werden. Diese Methode hat die Aufgabe, anhand der übergebenen drei Seitenlängen zu entscheiden, ob es sich um ein normales, ein gleichschenkliges, ein gleichseitiges oder gar kein Dreieck handelt.

Aufgabenstellung

Normales Dreieck

Mit dem Assignment kommt ein erster Testfall, der überprüft, ob ein normales Dreieck richtig erkannt wird. Sorgen Sie dafür, dass der Testfall nicht mehr scheitert. Achten Sie darauf, dass Sie nicht mehr implementieren, als zur Lösung dieses Testfalls notwendig ist. Weitere Fälle müssen noch nicht erkannt werden.

Gleichseitiges Dreieck

Erstellen Sie nun einen Testfall, der überprüft, ob ein gleichseitiges Dreieck erkannt wird. Da Sie bisher nur normale Dreiecke identifizieren, wird dieser Testfall zunächst scheitern.

Nehmen Sie nun minimale Änderungen am Produktivcode vor, so dass beide Testfälle fehlerfrei ausgeführt werden.

Kein Dreieck

Es gibt Zahlenkombinationen, die nicht zu einem Dreieck passen (z.B. negative Zahlen oder eine überlange Seite, so dass die anderen beiden Seiten das Dreieck nicht abschließen können).

Erstellen Sie jeweils eigene Testfälle für diese Art von Zahlenkombinationen. Das sind mindestens 6 weitere Testfälle (warum?).

Korrigieren Sie anschließend den Produktivcode, so dass alle Tests durchlaufen.

Gleichschenkliges Dreieck

Schließlich sollen noch gleichschenklige Dreiecke erkannt werden. Dabei soll die Methode stets die genaueste Information zurückliefern, d.h.

  • bei einem gleichseitigen Dreieck EQUILATERAL, auch wenn ein gleichseitiges Dreieck natürlich auch gleichschenklig ist.
  • bei einem gleichschenkligem Dreieck ISOSCELES, auch wenn ein gleichschenkliges Dreieck natürlich auch ein normales Dreieck ist.

Verwenden Sie auch hier die TDD-Vorgehensweise.