diff options
Diffstat (limited to 'lib/python2.7/test/test_unpack.py')
-rw-r--r-- | lib/python2.7/test/test_unpack.py | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/lib/python2.7/test/test_unpack.py b/lib/python2.7/test/test_unpack.py deleted file mode 100644 index 7ddbc62..0000000 --- a/lib/python2.7/test/test_unpack.py +++ /dev/null @@ -1,130 +0,0 @@ -doctests = """ - -Unpack tuple - - >>> t = (1, 2, 3) - >>> a, b, c = t - >>> a == 1 and b == 2 and c == 3 - True - -Unpack list - - >>> l = [4, 5, 6] - >>> a, b, c = l - >>> a == 4 and b == 5 and c == 6 - True - -Unpack implied tuple - - >>> a, b, c = 7, 8, 9 - >>> a == 7 and b == 8 and c == 9 - True - -Unpack string... fun! - - >>> a, b, c = 'one' - >>> a == 'o' and b == 'n' and c == 'e' - True - -Unpack generic sequence - - >>> class Seq: - ... def __getitem__(self, i): - ... if i >= 0 and i < 3: return i - ... raise IndexError - ... - >>> a, b, c = Seq() - >>> a == 0 and b == 1 and c == 2 - True - -Single element unpacking, with extra syntax - - >>> st = (99,) - >>> sl = [100] - >>> a, = st - >>> a - 99 - >>> b, = sl - >>> b - 100 - -Now for some failures - -Unpacking non-sequence - - >>> a, b, c = 7 - Traceback (most recent call last): - ... - TypeError: 'int' object is not iterable - -Unpacking tuple of wrong size - - >>> a, b = t - Traceback (most recent call last): - ... - ValueError: too many values to unpack - -Unpacking tuple of wrong size - - >>> a, b = l - Traceback (most recent call last): - ... - ValueError: too many values to unpack - -Unpacking sequence too short - - >>> a, b, c, d = Seq() - Traceback (most recent call last): - ... - ValueError: need more than 3 values to unpack - -Unpacking sequence too long - - >>> a, b = Seq() - Traceback (most recent call last): - ... - ValueError: too many values to unpack - -Unpacking a sequence where the test for too long raises a different kind of -error - - >>> class BozoError(Exception): - ... pass - ... - >>> class BadSeq: - ... def __getitem__(self, i): - ... if i >= 0 and i < 3: - ... return i - ... elif i == 3: - ... raise BozoError - ... else: - ... raise IndexError - ... - -Trigger code while not expecting an IndexError (unpack sequence too long, wrong -error) - - >>> a, b, c, d, e = BadSeq() - Traceback (most recent call last): - ... - BozoError - -Trigger code while expecting an IndexError (unpack sequence too short, wrong -error) - - >>> a, b, c = BadSeq() - Traceback (most recent call last): - ... - BozoError - -""" - -__test__ = {'doctests' : doctests} - -def test_main(verbose=False): - from test import test_support - from test import test_unpack - test_support.run_doctest(test_unpack, verbose) - -if __name__ == "__main__": - test_main(verbose=True) |