diff options
author | Seth M Morton <seth.m.morton@gmail.com> | 2018-04-11 21:49:24 -0700 |
---|---|---|
committer | Seth M Morton <seth.m.morton@gmail.com> | 2018-04-11 21:49:36 -0700 |
commit | 5f0abd85fa1e8aa53a1bc1645f009f740ce7f04f (patch) | |
tree | 4af4ac76e65eefd25b6eda39888a67ea080b753d | |
parent | 322f52ef8c84c43d2930575f74d4753f103bf62a (diff) | |
download | natsort-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.py | 4 | ||||
-rw-r--r-- | test_natsort/test_natsorted.py | 10 |
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 |