summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_b2.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/Lib/test/test_b2.py b/Lib/test/test_b2.py
index 1aff837..84d3454 100644
--- a/Lib/test/test_b2.py
+++ b/Lib/test/test_b2.py
@@ -255,6 +255,42 @@ if tuple(xrange(5,10)) <> tuple(range(5,10)): raise TestFailed, 'xrange(5,10)'
if tuple(xrange(0,10,2)) <> tuple(range(0,10,2)):
raise TestFailed, 'xrange(0,10,2)'
+print 'zip'
+a = (1, 2, 3)
+b = (4, 5, 6)
+t = [(1, 4), (2, 5), (3, 6)]
+if zip(a, b) <> t: raise TestFailed, 'zip(a, b) - same size, both tuples'
+b = [4, 5, 6]
+if zip(a, b) <> t: raise TestFailed, 'zip(a, b) - same size, tuple/list'
+b = (4, 5, 6, 7)
+if zip(a, b) <> t: raise TestFailed, 'zip(a, b) - b is longer'
+class I:
+ def __getitem__(self, i):
+ if i < 0 or i > 2: raise IndexError
+ return i + 4
+if zip(a, I()) <> t: raise TestFailed, 'zip(a, b) - b is instance'
+exc = 0
+try:
+ zip()
+except TypeError:
+ exc = 1
+except:
+ e = sys.exc_info()[0]
+ raise TestFailed, 'zip() - no args, expected TypeError, got', e
+if not exc:
+ raise TestFailed, 'zip() - no args, missing expected TypeError'
+
+exc = 0
+try:
+ zip(None)
+except TypeError:
+ exc = 1
+except:
+ e = sys.exc_info()[0]
+ raise TestFailed, 'zip(None) - expected TypeError, got', e
+if not exc:
+ raise TestFailed, 'zip(None) - missing expected TypeError'
+
# Epilogue -- unlink the temp file