Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| modul:archiv:m320:learningunits:lu90:aufgaben:lu4-aufgabe_4 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | modul:archiv:m320:learningunits:lu90:aufgaben:lu4-aufgabe_4 [2026/08/30 14:06] (aktuell) – ↷ Seite von modul:m320:learningunits:lu90:aufgaben:lu4-aufgabe_4 nach modul:archiv:m320:learningunits:lu90:aufgaben:lu4-aufgabe_4 verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ==== Aufgabe 4 - Unit Tests anwenden ==== | ||
| + | === Ziel === | ||
| + | * Sie können Testklassen auf der Basis von '' | ||
| + | |||
| + | === Auftrag === | ||
| + | * Testen Sie die bekannte Klasse '' | ||
| + | * Benutzen Sie dazu den unten aufgeführten Code. | ||
| + | * Ersetzen Sie die '' | ||
| + | |||
| + | === Abgabe === | ||
| + | Geben Sie Ihren Code via Moodle ab. | ||
| + | |||
| + | ---- | ||
| + | === Code === | ||
| + | <file python bank_account.py> | ||
| + | class BankAccount: | ||
| + | """ | ||
| + | Diese Klasse stellt ein Bankkonto dar, das korrekt realisiert ist. | ||
| + | """ | ||
| + | def __init__(self, | ||
| + | """ | ||
| + | Konstruktor eröffnet das Konto mit einem Startbetrag | ||
| + | :param starting_amount: | ||
| + | """ | ||
| + | self.__saldo = starting_amount | ||
| + | |||
| + | |||
| + | def get_money(self, | ||
| + | """ | ||
| + | Es wird der durch value benannte Betrag vom Bankkonto bezogen. | ||
| + | Dabei wird sichergestellt, | ||
| + | negative wird. | ||
| + | :param value: zu beziehender Betrag | ||
| + | :return: bezogener Betrag | ||
| + | """ | ||
| + | if value < self.__saldo: | ||
| + | self.__saldo -= value | ||
| + | return value | ||
| + | else: | ||
| + | return 0 | ||
| + | |||
| + | @property | ||
| + | def saldo(self): | ||
| + | """ | ||
| + | Liefert den aktuellen Saldo des Kontos | ||
| + | :return: | ||
| + | """ | ||
| + | return self.__saldo | ||
| + | </ | ||
| + | |||
| + | <file python bank_account_test.py> | ||
| + | import pytest | ||
| + | from bank_account import BankAccount | ||
| + | |||
| + | |||
| + | def test_get_money_less_than_saldo_returns_expected_money(): | ||
| + | # TODO: arrange - create testee with saldo 400 | ||
| + | # TODO: act - invoke the get_money methode with 300, an amount less than saldo | ||
| + | # TODO: assert | ||
| + | # TODO: that balance is 100 as expected | ||
| + | assert False | ||
| + | |||
| + | |||
| + | def test_get_money_with_more_than_saldo_returns_nothing(): | ||
| + | # TODO: arrange - create testee with saldo 400 | ||
| + | # TODO: act - invoke the get_money methode with 600, an amount more than saldo | ||
| + | # TODO: assert | ||
| + | # TODO: that balance is still 400 as expected | ||
| + | assert False | ||
| + | |||
| + | </ | ||