Beispiel #1
0
def test_number_extracter_extracts_numbers_and_strxfrms_letter_doubled_strings_with_use_locale_and_groupletters(x):
    assume(len(x) <= 10)
    load_locale('en_US')
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    t = int_splitter(s, False, False, null_string)
    t = [y if i == 0 and y is null_string else locale_convert(y, (fast_int, isint), True) for i, y in enumerate(t)]
    assert _number_extracter(s, _int_nosign_re, *int_nosafe_locale_group) == t
    locale.setlocale(locale.LC_NUMERIC, str(''))
Beispiel #2
0
def test_number_extracter_doubles_letters_with_lowercase_version_with_groupletters_for_int(x):
    assume(len(x) <= 10)
    try:
        low = py23_str.casefold
    except AttributeError:
        low = py23_str.lower
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    t = int_splitter(s, False, False, '')
    t = [''.join([low(z) + z for z in y]) if type(y) not in (int, long) else y for y in t]
    assert _number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_group) == t
Beispiel #3
0
def test_number_extracter_extracts_numbers_and_strxfrms_strings_with_use_locale(x):
    load_locale('en_US')
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    t = int_splitter(s, False, False, null_string)
    try:  # Account for locale bug on Python 3.2
        t = [y if i == 0 and y is null_string else locale_convert(y, (fast_int, isint), False) for i, y in enumerate(t)]
        assert _number_extracter(s, _int_nosign_re, *int_nosafe_locale_nogroup) == t
    except OverflowError:
        pass
    locale.setlocale(locale.LC_NUMERIC, str(''))
Beispiel #4
0
def test_number_extracter_doubles_letters_with_lowercase_version_with_groupletters_for_int(
        x):
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    t = int_splitter(s, False, False, '')
    t = [
        ''.join([low(z) + z for z in y]) if type(y) not in (int, long) else y
        for y in t
    ]
    assert _number_extracter(s, _int_nosign_re,
                             *int_nosafe_nolocale_group) == t
Beispiel #5
0
def test_number_extracter_extracts_numbers_and_strxfrms_letter_doubled_strings_with_use_locale_and_groupletters(
        x):
    load_locale('en_US')
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    t = int_splitter(s, False, False, null_string)
    try:  # Account for locale bug on Python 3.2
        t = [
            y if i == 0 and y is null_string else locale_convert(
                y, (fast_int, isint), True) for i, y in enumerate(t)
        ]
        assert _number_extracter(s, _int_nosign_re,
                                 *int_nosafe_locale_group) == t
    except OverflowError:
        pass
    locale.setlocale(locale.LC_NUMERIC, str(''))
Beispiel #6
0
def test_number_extracter_inserts_empty_string_between_ints_for_py3safe_option(x):
    assume(len(x) <= 10)
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    assert _number_extracter(s, _int_sign_re, *int_safe_nolocale_nogroup) == int_splitter(s, True, True, '')
Beispiel #7
0
def test_number_extracter_includes_plus_and_minus_sign_in_int_definition_for_signed_ints(x):
    assume(len(x) <= 10)
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    assert _number_extracter(s, _int_sign_re, *int_nosafe_nolocale_nogroup) == int_splitter(s, True, False, '')
def test_parse_string_factory_only_parses_digits_with_nosign_int(x):
    assume(all(whitespace_check(y) for y in x))
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    assert _parse_string_factory(0, '', _int_nosign_re.split, no_op, fast_int,
                                 tuple2)(s) == int_splitter(s, False, '')
Beispiel #9
0
def test_number_extracter_inserts_empty_string_between_ints_for_py3safe_option(
        x):
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    assert _number_extracter(s, _int_sign_re,
                             *int_safe_nolocale_nogroup) == int_splitter(
                                 s, True, True, '')
Beispiel #10
0
def test_number_extracter_includes_plus_and_minus_sign_in_int_definition_for_signed_ints(
        x):
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    assert _number_extracter(s, _int_sign_re,
                             *int_nosafe_nolocale_nogroup) == int_splitter(
                                 s, True, False, '')
Beispiel #11
0
def test_parse_string_factory_parses_digit_with_sign_with_signed_int(x):
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    assert _parse_string_factory(0, '', _int_sign_re.split, no_op, fast_int,
                                 tuple2)(s) == int_splitter(s, True, '')
Beispiel #12
0
def test_number_extracter_doubles_letters_with_lowercase_version_with_groupletters_for_int(x):
    s = ''.join(repr(y) if type(y) in (float, long, int) else y for y in x)
    t = int_splitter(s, False, False, '')
    t = [''.join([low(z) + z for z in y]) if type(y) not in (int, long) else y for y in t]
    assert _number_extracter(s, _int_nosign_re, *int_nosafe_nolocale_group) == t
Beispiel #13
0
def test_parse_string_function_only_parses_digits_with_nosign_int(x):
    assume(all(whitespace_check(y) for y in x))
    s = "".join(repr(y) if type(y) in (float, long, int) else y for y in x)
    assert _parse_string_function(0, "", _int_nosign_re.split, no_op, fast_int, tuple2)(s) == int_splitter(s, False, "")