adding passing test. testing for g(*Nothing()) where Nothing is a user-defined iterator.
This commit is contained in:
parent
0bc9c919e8
commit
8036c83630
|
@ -17,6 +17,7 @@ TypeError: g() takes at least 1 argument (0 given)
|
|||
1 (2, 3) {}
|
||||
1 (2, 3, 4, 5) {}
|
||||
0 (1, 2) {}
|
||||
0 (1, 2, 3) {}
|
||||
1 () {'a': 1, 'b': 2, 'c': 3, 'd': 4}
|
||||
{'a': 1, 'b': 2, 'c': 3}
|
||||
{'a': 1, 'b': 2, 'c': 3}
|
||||
|
|
|
@ -86,6 +86,31 @@ class Nothing:
|
|||
raise IndexError, i
|
||||
g(*Nothing())
|
||||
|
||||
class Nothing:
|
||||
def __init__(self):
|
||||
self.c = 0
|
||||
def __iter__(self):
|
||||
return self
|
||||
try:
|
||||
g(*Nothing())
|
||||
except TypeError, attr:
|
||||
pass
|
||||
else:
|
||||
print "should raise TypeError"
|
||||
|
||||
class Nothing:
|
||||
def __init__(self):
|
||||
self.c = 0
|
||||
def __iter__(self):
|
||||
return self
|
||||
def next(self):
|
||||
if self.c == 4:
|
||||
raise StopIteration
|
||||
c = self.c
|
||||
self.c += 1
|
||||
return c
|
||||
g(*Nothing())
|
||||
|
||||
# make sure the function call doesn't stomp on the dictionary?
|
||||
d = {'a': 1, 'b': 2, 'c': 3}
|
||||
d2 = d.copy()
|
||||
|
|
Loading…
Reference in New Issue