Implementieren Sie das Klassendiagramm als Sourcecode.
Bottle
als Python-Code.Beim Lösen der Programmieraufgaben orientieren wir uns am TDD (test driven development). Die nötigen Testfälle werden durch die Lehrpersonen in Ihrem GitHub Repository bereitgestellt.
Sie finden weiter unten die genauen Anleitung für das jeweilige Vorgehen. Dieses ist bei der Implementation in allen kommenden Übungen anzuwenden.
Es ist wichtig, dass Sie sich dieses Vorgehen aneignen, da auch die Prüfungen so umgesetzt sind und die erreichte Note durch die Anzahl korrekter Tests gegeben ist.
40 Minuten + Hausaufgabenzeit
Commit und Push auf github
Die Klasse Bottle stellt eine einfache Trinkflasche mit 3 Attributen sowie einigen Methoden dar.
color
ist die Farbe der Flasche.capacity
ist die maximale Menge, die in der Flasche Platz findet.quantity_available
hält die aktuelle Menge Wasser in der Flasche fest. __init__(…)
(der Konstruktor der Klasse Bottle) initialisiert die verfügbare Menge (quantitiy_avaible) auf 0, während Kapazität (capacity) und Farbe (color) der Flasche durch Parameter festgelegt werden.color()
liefert die Farbe der Flasche. Wird als @property
realisiert.capacity()
liefert das Volumen der Flasche. Wird als @property
realisiert.read_quantitiy_available()
liefert die in der Flasche vorhandene Menge.open_bottle()
wird leer implementiert (Keyword pass verwenden)close_the_bottle()
wird leer implementiert.fill_bottle()
füllt die Flasche bis zum maximalen Fassungsvermögen.drink_water(amount)
liefert die angeforderte Menge aus der Flasche, falls diese Menge noch verfügbar ist. Wenn die verfügbare Menge (quantitiy_available) kleiner ist, wir diese Menge geliefert und die Flasche ist leer.__init__(…)
) und initialisieren Sie die Attribute gemäss Beschreibung. color
@property
für color
.capacity()
⇒ test_capacity
read_quantitiy_available()
⇒ test_initial_quantity
open_bottle()
und close_the_bottle()
werden mit der pass
-Anweisung (leere Methoden ohne Funktion) realisiert. Testmethode: test_open_and_close_bottle
.fill_bottle()
⇒ test_fill_bottle
. Überlegen Sie sich, wie Sie sicherstellen können, dass die Flasche ganz gefüllt ist.drink_water(…)
stellen Sie sicher, dass die gelieferte Menge korrekt ist. Dazu müssen Sie überprüfen, ob die angeforderte Menge (amount
) in der Flasche verfügbar ist. Weiter müssen Sie sicherstellen, dass der Inhalt der Flasche um den Betrag verringert wird. Reicht der Inhalt nicht, wird einfach der Rest in der Flasche geliefert (und die Flasche ist leer)test_drink_water_available
, test_drink_water_not_avaible
, test_drink_water_partial_avaible
Zum Schluss führen noch einmal alle Tests aus.
Geben Sie dazu im Terminal (Eingabeaufforderung) den Befehl pytest
ein.
Das Testergebnis muss nun wie folgt aussehen:
GitHub Repository https://github.com/templates-python/m320-lu02-a02-bottle
Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden