From a1e9656ecadb2e6c2805c79b099c198b245fd43b Mon Sep 17 00:00:00 2001 From: Marcos Vinicius Date: Thu, 29 Oct 2020 00:09:39 -0300 Subject: [PATCH] Hacktoberfest: adding doctest to radix_sort.py file (#2779) * adding doctest to radix_sort.py file * fixup! Format Python code with psf/black push * Update radix_sort.py * Update radix_sort.py * fixup! Format Python code with psf/black push * Update radix_sort.py * line * fix tests Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: John Law --- sorts/radix_sort.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/sorts/radix_sort.py b/sorts/radix_sort.py index 7942462ea..57dbbaa79 100644 --- a/sorts/radix_sort.py +++ b/sorts/radix_sort.py @@ -1,13 +1,28 @@ +""" +This is a pure Python implementation of the quick sort algorithm +For doctests run following command: +python -m doctest -v radix_sort.py +or +python3 -m doctest -v radix_sort.py +For manual testing run: +python radix_sort.py +""" from __future__ import annotations +from typing import List -def radix_sort(list_of_ints: list[int]) -> list[int]: + +def radix_sort(list_of_ints: List[int]) -> List[int]: """ - radix_sort(range(15)) == sorted(range(15)) + Examples: + >>> radix_sort([0, 5, 3, 2, 2]) + [0, 2, 2, 3, 5] + + >>> radix_sort(list(range(15))) == sorted(range(15)) True - radix_sort(reversed(range(15))) == sorted(range(15)) + >>> radix_sort(list(range(14,-1,-1))) == sorted(range(15)) True - radix_sort([1,100,10,1000]) == sorted([1,100,10,1000]) + >>> radix_sort([1,100,10,1000]) == sorted([1,100,10,1000]) True """ RADIX = 10 @@ -29,3 +44,9 @@ def radix_sort(list_of_ints: list[int]) -> list[int]: # move to next placement *= RADIX return list_of_ints + + +if __name__ == "__main__": + import doctest + + doctest.testmod()