Commit d92efd63 authored by Stefan Behnel's avatar Stefan Behnel

make test functions a bit more readable and add some additional tests

parent 98772dcf
# coding: utf-8 # coding: utf-8
__doc__ = u""" __doc__ = u"""
>>> do_slice1(u'abcdef', 2, 3) >>> slice_start_end(u'abcdef', 2, 3)
c c
>>> do_slice2(u'abcdef', 2, 3) >>> slice_start(u'abcdef', 2, 3)
cdef cdef
>>> do_slice3(u'abcdef', 2, 3) >>> slice_end(u'abcdef', 2, 3)
ab ab
>>> do_slice4(u'abcdef', 2, 3) >>> slice_all(u'abcdef', 2, 3)
abcdef abcdef
>>> do_slice5(u'abcdef', 2, 3) >>> slice_start_none(u'abcdef', 2, 3)
cdef cdef
>>> do_slice6(u'abcdef', 2, 3) >>> slice_none_end(u'abcdef', 2, 3)
ab ab
>>> do_slice7(u'abcdef', 2, 3) >>> slice_none_none(u'abcdef', 2, 3)
abcdef abcdef
>>> do_slice1(u'abcdef', 2, 10)
>>> slice_start_end(u'abcdef', 2, 10)
cdef cdef
>>> do_slice2(u'abcdef', 2, 10) >>> slice_start(u'abcdef', 2, 10)
cdef cdef
>>> do_slice3(u'abcdef', 2, 10) >>> slice_end(u'abcdef', 2, 10)
ab ab
>>> do_slice4(u'abcdef', 2, 10) >>> slice_all(u'abcdef', 2, 10)
abcdef abcdef
>>> do_slice1(u'abcdef', 0, 5)
>>> slice_start_end(u'abcdef', 0, 5)
abcde abcde
>>> do_slice2(u'abcdef', 0, 5) >>> slice_start(u'abcdef', 0, 5)
abcdef abcdef
>>> do_slice3(u'abcdef', 0, 5) >>> slice_end(u'abcdef', 0, 5)
<BLANKLINE> <BLANKLINE>
>>> do_slice4(u'abcdef', 0, 5) >>> slice_all(u'abcdef', 0, 5)
abcdef abcdef
>>> do_slice5(u'abcdef', 0, 5) >>> slice_start_none(u'abcdef', 0, 5)
abcdef abcdef
>>> do_slice6(u'abcdef', 0, 5) >>> slice_none_end(u'abcdef', 0, 5)
<BLANKLINE> <BLANKLINE>
>>> do_slice7(u'abcdef', 0, 5) >>> slice_none_none(u'abcdef', 0, 5)
abcdef abcdef
>>> do_slice1(u'abcdef', -6, -1)
>>> slice_start_end(u'abcdef', -6, -1)
abcde abcde
>>> do_slice2(u'abcdef', -6, -1) >>> slice_start(u'abcdef', -6, -1)
abcdef
>>> slice_end(u'abcdef', -6, -1)
<BLANKLINE>
>>> slice_all(u'abcdef', -6, -1)
abcdef
>>> slice_start_none(u'abcdef', -6, -1)
abcdef abcdef
>>> do_slice3(u'abcdef', -6, -1) >>> slice_none_end(u'abcdef', -6, -1)
<BLANKLINE> <BLANKLINE>
>>> do_slice4(u'abcdef', -6, -1) >>> slice_none_none(u'abcdef', -6, -1)
abcdef abcdef
>>> do_slice5(u'abcdef', -6, -1)
>>> slice_start_end(u'abcdef', -6, -7)
<BLANKLINE>
>>> slice_start(u'abcdef', -6, -7)
abcdef
>>> slice_end(u'abcdef', -6, -7)
<BLANKLINE>
>>> slice_all(u'abcdef', -6, -7)
abcdef
>>> slice_start_none(u'abcdef', -6, -7)
abcdef abcdef
>>> do_slice6(u'abcdef', -6, -1) >>> slice_none_end(u'abcdef', -6, -7)
<BLANKLINE> <BLANKLINE>
>>> do_slice7(u'abcdef', -6, -1) >>> slice_none_none(u'abcdef', -6, -7)
abcdef abcdef
>>> do_slice1(u'aАbБcСdДeЕfФ', 2, 8)
>>> slice_start_end(u'abcdef', -7, -7)
<BLANKLINE>
>>> slice_start(u'abcdef', -7, -7)
abcdef
>>> slice_end(u'abcdef', -7, -7)
<BLANKLINE>
>>> slice_all(u'abcdef', -7, -7)
abcdef
>>> slice_start_none(u'abcdef', -7, -7)
abcdef
>>> slice_none_end(u'abcdef', -7, -7)
<BLANKLINE>
>>> slice_none_none(u'abcdef', -7, -7)
abcdef
>>> slice_start_end(u'aАbБcСdДeЕfФ', 2, 8)
bБcСdД bБcСdД
>>> do_slice2(u'aАbБcСdДeЕfФ', 2, 8) >>> slice_start(u'aАbБcСdДeЕfФ', 2, 8)
bБcСdДeЕfФ bБcСdДeЕfФ
>>> do_slice3(u'aАbБcСdДeЕfФ', 2, 8) >>> slice_end(u'aАbБcСdДeЕfФ', 2, 8)
>>> do_slice4(u'aАbБcСdДeЕfФ', 2, 8) >>> slice_all(u'aАbБcСdДeЕfФ', 2, 8)
aАbБcСdДeЕfФ aАbБcСdДeЕfФ
>>> do_slice5(u'aАbБcСdДeЕfФ', 2, 8) >>> slice_start_none(u'aАbБcСdДeЕfФ', 2, 8)
bБcСdДeЕfФ bБcСdДeЕfФ
>>> do_slice6(u'aАbБcСdДeЕfФ', 2, 8) >>> slice_none_end(u'aАbБcСdДeЕfФ', 2, 8)
>>> do_slice7(u'aАbБcСdДeЕfФ', 2, 8) >>> slice_none_none(u'aАbБcСdДeЕfФ', 2, 8)
aАbБcСdДeЕfФ aАbБcСdДeЕfФ
>>> do_slice1(u'АБСДЕФ', 2, 4)
>>> slice_start_end(u'АБСДЕФ', 2, 4)
СД СД
>>> do_slice2(u'АБСДЕФ', 2, 4) >>> slice_start(u'АБСДЕФ', 2, 4)
СДЕФ СДЕФ
>>> do_slice3(u'АБСДЕФ', 2, 4) >>> slice_end(u'АБСДЕФ', 2, 4)
АБ АБ
>>> do_slice4(u'АБСДЕФ', 2, 4) >>> slice_all(u'АБСДЕФ', 2, 4)
АБСДЕФ АБСДЕФ
>>> do_slice5(u'АБСДЕФ', 2, 4) >>> slice_start_none(u'АБСДЕФ', 2, 4)
СДЕФ СДЕФ
>>> do_slice6(u'АБСДЕФ', 2, 4) >>> slice_none_end(u'АБСДЕФ', 2, 4)
АБ АБ
>>> do_slice7(u'АБСДЕФ', 2, 4) >>> slice_none_none(u'АБСДЕФ', 2, 4)
АБСДЕФ АБСДЕФ
>>> do_slice1(u'АБСДЕФ', -4, -2)
>>> slice_start_end(u'АБСДЕФ', -4, -2)
СД СД
>>> do_slice2(u'АБСДЕФ', -4, -2) >>> slice_start(u'АБСДЕФ', -4, -2)
СДЕФ СДЕФ
>>> do_slice3(u'АБСДЕФ', -4, -2) >>> slice_end(u'АБСДЕФ', -4, -2)
АБ АБ
>>> do_slice4(u'АБСДЕФ', -4, -2) >>> slice_all(u'АБСДЕФ', -4, -2)
АБСДЕФ АБСДЕФ
>>> do_slice5(u'АБСДЕФ', -4, -2) >>> slice_start_none(u'АБСДЕФ', -4, -2)
СДЕФ СДЕФ
>>> do_slice6(u'АБСДЕФ', -4, -2) >>> slice_none_end(u'АБСДЕФ', -4, -2)
АБ АБ
>>> do_slice7(u'АБСДЕФ', -4, -2) >>> slice_none_none(u'АБСДЕФ', -4, -2)
АБСДЕФ АБСДЕФ
>>> do_slice1(None, 2, 4)
>>> slice_start_end(None, 2, 4)
Traceback (most recent call last): Traceback (most recent call last):
TypeError: 'NoneType' object is not subscriptable TypeError: 'NoneType' object is not subscriptable
>>> do_slice2(None, 2, 4) >>> slice_start(None, 2, 4)
Traceback (most recent call last): Traceback (most recent call last):
TypeError: 'NoneType' object is not subscriptable TypeError: 'NoneType' object is not subscriptable
>>> do_slice3(None, 2, 4) >>> slice_end(None, 2, 4)
Traceback (most recent call last): Traceback (most recent call last):
TypeError: 'NoneType' object is not subscriptable TypeError: 'NoneType' object is not subscriptable
>>> do_slice4(None, 2, 4) >>> slice_all(None, 2, 4)
Traceback (most recent call last): Traceback (most recent call last):
TypeError: 'NoneType' object is not subscriptable TypeError: 'NoneType' object is not subscriptable
>>> do_slice5(None, 2, 4) >>> slice_start_none(None, 2, 4)
Traceback (most recent call last): Traceback (most recent call last):
TypeError: 'NoneType' object is not subscriptable TypeError: 'NoneType' object is not subscriptable
>>> do_slice6(None, 2, 4) >>> slice_none_end(None, 2, 4)
Traceback (most recent call last): Traceback (most recent call last):
TypeError: 'NoneType' object is not subscriptable TypeError: 'NoneType' object is not subscriptable
>>> do_slice7(None, 2, 4) >>> slice_none_none(None, 2, 4)
Traceback (most recent call last): Traceback (most recent call last):
TypeError: 'NoneType' object is not subscriptable TypeError: 'NoneType' object is not subscriptable
""" """
...@@ -121,23 +158,23 @@ import sys ...@@ -121,23 +158,23 @@ import sys
if sys.version_info[0] >= 3: if sys.version_info[0] >= 3:
__doc__ = __doc__.replace(u"(u'", u"('").replace(u" u'", u" '") __doc__ = __doc__.replace(u"(u'", u"('").replace(u" u'", u" '")
def do_slice1(unicode s, int i, int j): def slice_start_end(unicode s, int i, int j):
print(s[i:j]) print(s[i:j])
def do_slice2(unicode s, int i, int j): def slice_start(unicode s, int i, int j):
print(s[i:]) print(s[i:])
def do_slice3(unicode s, int i, int j): def slice_end(unicode s, int i, int j):
print(s[:i]) print(s[:i])
def do_slice4(unicode s, int i, int j): def slice_all(unicode s, int i, int j):
print(s[:]) print(s[:])
def do_slice5(unicode s, int i, int j): def slice_start_none(unicode s, int i, int j):
print(s[i:None]) print(s[i:None])
def do_slice6(unicode s, int i, int j): def slice_none_end(unicode s, int i, int j):
print(s[None:i]) print(s[None:i])
def do_slice7(unicode s, int i, int j): def slice_none_none(unicode s, int i, int j):
print(s[None:None]) print(s[None:None])
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment