LU04.A01 - Library
Erstelle die vollständigen Unittests für die Library-Applikation. Wende dabei alles aus den Learning Units 03 und 04 an.
Auftrag 1
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.
book.py / test_book
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
Buchleer ist. - Erzeuge ein Book-Objekt mit Titel, ISBN und Location. Prüfe, ob das Attribut „location“ im Book-Objekt leer ist.
library.py / test_library
- Konstruktor
- Erzeuge ein Library-Objekt und prüfe ob zwei leere Listen für Bücher und Kunden vorhanden sind.
- Kunden
- Füge zwei
KundenzurBibliothekhinzu. 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
Bibliothekausgeben.
- Bücher
- Füge drei Bücher zur
Bibliothekhinzu. - Suche ein vorhandenes Buch in der
Bibliothek. - Suche ein unbekanntes Buch in der
Bibliothek. - Entferne ein existierendes
Buchaus derBibliothek. - 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
Buchmit einer korrekten Position zurück. - Stelle ein
Buchmit einer unbekannten Position zurück. - Lasse eine Bücherliste der
Bibliothekanzeigen.
Auftrag 2
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.
