summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth M Morton <seth.m.morton@gmail.com>2018-04-11 21:49:24 -0700
committerSeth M Morton <seth.m.morton@gmail.com>2018-04-11 21:49:36 -0700
commit5f0abd85fa1e8aa53a1bc1645f009f740ce7f04f (patch)
tree4af4ac76e65eefd25b6eda39888a67ea080b753d
parent322f52ef8c84c43d2930575f74d4753f103bf62a (diff)
downloadnatsort-52-sorting-arabic-farsi-or-hebrew-numbers-is-not-natural.tar.gz
Add explicit tests based on examples in issue #52.52-sorting-arabic-farsi-or-hebrew-numbers-is-not-natural
-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