🚀 Test-Driven Assessment

5.2.3. 🚀 Test-Driven Assessment#

Basierend auf Mustern des sogenannten “Test-Driven Developments” wird den Lernenden eine Aufgabenstellung gegeben, welche bspw. durch die Programmierung einer Funktion zu lösen ist. Zur Unterstützung und Überprüfung der Lösung werden verschiedene Test-Funktionen genutzt.

Diese Test-Funktionen zeigen die Korrektheit der Lösung in einem gewissen Wertebereich oder Nutzungskontext an. Anfangs geben sie Fehlermeldungen aus, welche während der Entwicklung der Lösung nach und nach behoben werden. Die jeweiligen Fehlermeldungen geben dabei Hinweise über die Lösung, ohne sie direkt vorwegzunehmen.

Übung: Schaltjahr#

Entwickeln Sie eine Funktion, die für eine übergebene Jahreszahl ausgibt, ob es sich um ein Schaltjahr handelt oder nicht.

def test_leap_year():
    assert is_leap_year(1) == False, "Odd years are not leap years."
    assert is_leap_year(2002) == False, "Leap years are divisible by 4."
    assert is_leap_year(4) == True, "4 is a leap year."
    assert is_leap_year(2024) == True, "2024 is a leap year."
    assert is_leap_year(400) == True, "A year divisible by 400 is a leap year."
    assert is_leap_year(800) == True, "800 is divisible by 400."
    assert is_leap_year(1900) == False, "1900 is no leap year because it is divisible by 4 and by 100 but not also by 400."
def is_leap_year(year):
    pass

# test function – remove comment to run
#test_leap_year()