LU04.A01 - Library

Erstelle die vollständigen Unittests für die Library-Applikation. Wende dabei alles aus den Learning Units 03 und 04 an.

GitHub Classroom Assignment

Die Library-Applikation enthält mehrere Klassen und zu jeder Klasse ein entsprechendes Testmodul. Das jeweilige Testmodul soll jede Funktion überprüfen. Dabei sollen nicht nur der korrekte Ablauf, sondern auch Fehler und Exceptions erzeugt werden.

Viele Testfunktionen setzen voraus, dass bestimmte Objekte existieren. Erstelle diese Objekte in fixtures und nicht innerhalb der Testfunktion.

Objekte die innerhalb der Testfunktion erstellt werden, sind fett markiert.

Erstelle für jede der folgenden Situationen eine Test-Funktion:

  • Konstruktor
    • Erzeuge ein Book-Objekt mit gültigem Titel und ISBN.
    • Erzeuge ein Book-Objekt mit einem oder keinem Wert.
  • Ausgabe
    • Prüfe die korrekte Ausgabe eines Buchs.
  • Location
    • Prüfe, dass das Attribut “location” bei einem neuen Buch leer ist.
    • Erzeuge ein Book-Objekt mit Titel, ISBN und Location. Prüfe, ob das Attribut “location” im Book-Objekt leer ist.
  • Konstruktor
    • Erzeuge ein Library-Objekt und prüfe ob zwei leere Listen für Bücher und Kunden vorhanden sind.
  • Kunden
    • Füge zwei Kunden zur Bibliothek hinzu. Sind beide Kunden in der Liste vorhanden?
    • Suche nach einem vorhandenen Kunden in der Bibliothek.
    • Suche einen nicht vorhandenen Kunden in der Bibliothek.
    • Lasse die Kundenliste der Bibliothek ausgeben.
  • Bücher
    • Füge drei Bücher zur Bibliothek hinzu.
    • Suche ein vorhandenes Buch in der Bibliothek.
    • Suche ein unbekanntes Buch in der Bibliothek.
    • Entferne ein existierendes Buch aus der Bibliothek.
    • Entferne ein unbekanntes Buch aus der Bibliothek.
    • Nimm ein Buch an einer bekannten Position aus der Bibliothek.
    • Nimm ein Buch an einer unbekannten Position aus der Bibliothek.
    • Stelle ein Buch mit einer korrekten Position zurück.
    • Stelle ein Buch mit einer unbekannten Position zurück.
    • Lasse eine Bücherliste der Bibliothek anzeigen.

Hast du erkannt, nach welchem System die Testfunktionen definiert werden? Versuche nun selber Testfunktionen für die Klassen Customer und Librarian zu definieren und umzusetzen.

Zuletzt soll die Funktion main in main.py getestet werden.


Marcel Suter

  • modul/m450/learningunits/lu04/aufgaben/kombiniert.txt
  • Last modified: 2024/02/07 07:36
  • by msuter