55 lines
1.3 KiB
ReStructuredText
55 lines
1.3 KiB
ReStructuredText
==============================
|
|
Tests for a ``Sentence`` class
|
|
==============================
|
|
|
|
A ``Sentence`` is built from a ``str`` and allows iteration
|
|
word-by-word.
|
|
|
|
::
|
|
>>> s = Sentence('The time has come')
|
|
>>> s
|
|
Sentence('The time has come')
|
|
>>> list(s)
|
|
['The', 'time', 'has', 'come']
|
|
>>> it = iter(s)
|
|
>>> next(it)
|
|
'The'
|
|
>>> next(it)
|
|
'time'
|
|
>>> next(it)
|
|
'has'
|
|
>>> next(it)
|
|
'come'
|
|
>>> next(it)
|
|
Traceback (most recent call last):
|
|
...
|
|
StopIteration
|
|
|
|
|
|
Any punctuation is skipped while iterating::
|
|
|
|
>>> s = Sentence('"The time has come," the Walrus said,')
|
|
>>> s
|
|
Sentence('"The time ha... Walrus said,')
|
|
>>> list(s)
|
|
['The', 'time', 'has', 'come', 'the', 'Walrus', 'said']
|
|
|
|
|
|
White space including line breaks are also ignored::
|
|
|
|
>>> s = Sentence('''"The time has come," the Walrus said,
|
|
... "To talk of many things:"''')
|
|
>>> s
|
|
Sentence('"The time ha...many things:"')
|
|
>>> list(s)
|
|
['The', 'time', 'has', 'come', 'the', 'Walrus', 'said', 'To', 'talk', 'of', 'many', 'things']
|
|
|
|
|
|
Accented Latin characters are also recognized as word characters::
|
|
|
|
>>> s = Sentence('Agora vou-me. Ou me vão?')
|
|
>>> s
|
|
Sentence('Agora vou-me. Ou me vão?')
|
|
>>> list(s)
|
|
['Agora', 'vou', 'me', 'Ou', 'me', 'vão']
|