Doctest gebruiken
We hebben zojuist geleerd over doctest. Als je volledige docstrings met voorbeelden schrijft, is dit een eenvoudige manier om je functies minimaal te testen. In deze oefening ga je praktisch aan de slag met testen en debuggen met doctest.
De volgende zaken zijn al voor je geladen in je omgeving: doctest, Counter en text_analyzer.
Let op: je docstring-invoer moet exact overeenkomen met de oplossing. Als het meerdere keren misgaat, is het een goed idee om de voorbeeldcode te vernieuwen en opnieuw te beginnen.
Deze oefening maakt deel uit van de cursus
Software-engineeringprincipes in Python
Oefeninstructies
- Maak de invoer van het voorbeeld in de docstring voor
sum_countersaf. - Maak het docstring-voorbeeld compleet door de verwachte output in te vullen.
- Voer de functie
testmoduit vanuitdoctestom de voorbeeldcode van je functie te testen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
def sum_counters(counters):
"""Aggregate collections.Counter objects by summing counts
:param counters: list/tuple of counters to sum
:return: aggregated counters with counts summed
>>> d1 = text_analyzer.Document('1 2 fizz 4 buzz fizz 7 8')
>>> d2 = text_analyzer.Document('fizz buzz 11 fizz 13 14')
>>> ____([d1.word_counts, d2.word_counts])
____
"""
return sum(counters, Counter())
____