From 5f0abd85fa1e8aa53a1bc1645f009f740ce7f04f Mon Sep 17 00:00:00 2001 From: Seth M Morton Date: Wed, 11 Apr 2018 21:49:24 -0700 Subject: Add explicit tests based on examples in issue #52. --- test_natsort/test_fake_fastnumbers.py | 4 ++++ test_natsort/test_natsorted.py | 10 ++++++++++ 2 files changed, 14 insertions(+) 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 -- cgit v1.2.1