summaryrefslogtreecommitdiff
path: root/tests/test_string_component_transform_factory.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_string_component_transform_factory.py')
-rw-r--r--tests/test_string_component_transform_factory.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/test_string_component_transform_factory.py b/tests/test_string_component_transform_factory.py
index 8b77d38..7af2036 100644
--- a/tests/test_string_component_transform_factory.py
+++ b/tests/test_string_component_transform_factory.py
@@ -2,13 +2,14 @@
"""These test the utils.py functions."""
from functools import partial
+from typing import Any as Any_t, Callable, FrozenSet, Union
import pytest
from hypothesis import example, given
from hypothesis.strategies import floats, integers, text
from natsort.compat.fastnumbers import fast_float, fast_int
from natsort.compat.locale import get_strxfrm
-from natsort.ns_enum import NS_DUMB, ns
+from natsort.ns_enum import NS_DUMB, NS_t, ns
from natsort.utils import groupletters, string_component_transform_factory
# There are some unicode values that are known failures with the builtin locale
@@ -21,12 +22,12 @@ except ValueError:
bad_uni_chars = frozenset()
-def no_bad_uni_chars(x, _bad_chars=bad_uni_chars):
+def no_bad_uni_chars(x: str, _bad_chars: FrozenSet[str] = bad_uni_chars) -> bool:
"""Ensure text does not contain bad unicode characters"""
return not any(y in _bad_chars for y in x)
-def no_null(x):
+def no_null(x: str) -> bool:
"""Ensure text does not contain a null character."""
return "\0" not in x
@@ -65,7 +66,9 @@ def no_null(x):
| text().filter(bool).filter(no_bad_uni_chars).filter(no_null)
)
@pytest.mark.usefixtures("with_locale_en_us")
-def test_string_component_transform_factory(x, alg, example_func):
+def test_string_component_transform_factory(
+ x: Union[str, float, int], alg: NS_t, example_func: Callable[[str], Any_t]
+) -> None:
string_component_transform_func = string_component_transform_factory(alg)
try:
assert string_component_transform_func(str(x)) == example_func(str(x))