summaryrefslogtreecommitdiff
path: root/tests/test_natsort_key.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_natsort_key.py')
-rw-r--r--tests/test_natsort_key.py29
1 files changed, 16 insertions, 13 deletions
diff --git a/tests/test_natsort_key.py b/tests/test_natsort_key.py
index 6b56bb1..cdfdc67 100644
--- a/tests/test_natsort_key.py
+++ b/tests/test_natsort_key.py
@@ -1,42 +1,45 @@
# -*- coding: utf-8 -*-
"""These test the utils.py functions."""
+from typing import Any, List, NoReturn, Tuple, Union, cast
from hypothesis import given
from hypothesis.strategies import binary, floats, integers, lists, text
from natsort.utils import natsort_key
-def str_func(x):
+def str_func(x: Any) -> Tuple[str]:
if isinstance(x, str):
- return x
+ return (x,)
else:
raise TypeError("Not a str!")
-def fail(_):
+def fail(_: Any) -> NoReturn:
raise AssertionError("This should never be reached!")
@given(floats(allow_nan=False) | integers())
-def test_natsort_key_with_numeric_input_takes_number_path(x):
- assert natsort_key(x, None, str_func, fail, lambda y: y) is x
+def test_natsort_key_with_numeric_input_takes_number_path(x: Union[float, int]) -> None:
+ assert natsort_key(x, None, str_func, fail, lambda y: ("", y))[1] is x
@given(binary().filter(bool))
-def test_natsort_key_with_bytes_input_takes_bytes_path(x):
- assert natsort_key(x, None, str_func, lambda y: y, fail) is x
+def test_natsort_key_with_bytes_input_takes_bytes_path(x: bytes) -> None:
+ assert natsort_key(x, None, str_func, lambda y: (y,), fail)[0] is x
@given(text())
-def test_natsort_key_with_text_input_takes_string_path(x):
- assert natsort_key(x, None, str_func, fail, fail) is x
+def test_natsort_key_with_text_input_takes_string_path(x: str) -> None:
+ assert natsort_key(x, None, str_func, fail, fail)[0] is x
@given(lists(elements=text(), min_size=1, max_size=10))
-def test_natsort_key_with_nested_input_takes_nested_path(x):
- assert natsort_key(x, None, str_func, fail, fail) == tuple(x)
+def test_natsort_key_with_nested_input_takes_nested_path(x: List[str]) -> None:
+ assert natsort_key(x, None, str_func, fail, fail) == tuple((y,) for y in x)
@given(text())
-def test_natsort_key_with_key_argument_applies_key_before_processing(x):
- assert natsort_key(x, len, str_func, fail, lambda y: y) == len(x)
+def test_natsort_key_with_key_argument_applies_key_before_processing(x: str) -> None:
+ assert natsort_key(x, len, str_func, fail, lambda y: ("", cast(int, y)))[1] == len(
+ x
+ )