Aufgabe 4 - Unit Tests anwenden
Ziel
- Sie können Testklassen auf der Basis von
pytest
erstellen und anwenden.
Auftrag
- Testen Sie die bekannte Klasse
BankAccount
. - Benutzen Sie dazu den unten aufgeführten Code.
- Ersetzen Sie die
TODO
-Anweisungen sinngemäss mit Ihrem Code.
Abgabe
Geben Sie Ihren Code via Moodle ab.
Code
- bank_account.py
class BankAccount: """ Diese Klasse stellt ein Bankkonto dar, das korrekt realisiert ist. """ def __init__(self, starting_amount): """ Konstruktor eröffnet das Konto mit einem Startbetrag :param starting_amount: """ self.__saldo = starting_amount def get_money(self, value): """ Es wird der durch value benannte Betrag vom Bankkonto bezogen. Dabei wird sichergestellt, dass der Wert von saldo nicht 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
- 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 - make sure that expected value is 300 returned and... # 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 - make sure that expected value is 0 returned and... # TODO: that balance is still 400 as expected assert False