summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test_natsort/test_fake_fastnumbers.py4
-rw-r--r--test_natsort/test_natsorted.py10
2 files changed, 14 insertions, 0 deletions
diff --git a/test_natsort/test_fake_fastnumbers.py b/test_natsort/test_fake_fastnumbers.py
index c9103c2..52bbb8c 100644
--- a/test_natsort/test_fake_fastnumbers.py
+++ b/test_natsort/test_fake_fastnumbers.py
@@ -78,6 +78,8 @@ def test_fast_float_converts_float_string_to_float_example():
assert isnan(fast_float('nan'))
assert isnan(fast_float('+nan'))
assert isnan(fast_float('-NaN'))
+ assert fast_float('۱۲.۱۲') == 12.12
+ assert fast_float('-۱۲.۱۲') == -12.12
@given(floats(allow_nan=False))
@@ -117,6 +119,8 @@ def test_fast_int_leaves_float_string_as_is(x):
def test_fast_int_converts_int_string_to_int_example():
assert fast_int('-45') == -45
assert fast_int('+45') == 45
+ assert fast_int('۱۲') == 12
+ assert fast_int('-۱۲') == -12
@given(integers())
diff --git a/test_natsort/test_natsorted.py b/test_natsort/test_natsorted.py
index 71ffbf6..ce6b879 100644
--- a/test_natsort/test_natsorted.py
+++ b/test_natsort/test_natsorted.py
@@ -280,3 +280,13 @@ def test_natsorted_sorts_an_odd_collection_of_string():
'apple', 'banana', 'corn', '~~~~~~']
assert natsorted(a, alg=ns.NUMAFTER) == ['Apple', 'Banana', 'Corn',
'apple', 'banana', 'corn', '~~~~~~', '73', '5039']
+
+
+def test_natsorted_sorts_mixed_ascii_and_non_ascii_numbers():
+ a = ['1st street', '10th street', '2nd street', '2 street', '1 street', '1street',
+ '11 street', 'street 2', 'street 1', 'Street 11', '۲ street', '۱ street', '۱street',
+ '۱۲street', '۱۱ street', 'street ۲', 'street ۱', 'street ۱', 'street ۱۲', 'street ۱۱']
+ expected = ['1 street', '۱ street', '1st street', '1street', '۱street', '2 street', '۲ street',
+ '2nd street', '10th street', '11 street', '۱۱ street', '۱۲street', 'street 1',
+ 'street ۱', 'street ۱', 'street 2', 'street ۲', 'Street 11', 'street ۱۱', 'street ۱۲']
+ assert natsorted(a, alg=ns.IGNORECASE) == expected