==== 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 === 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 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