def __len__(self):
return 10
-class GetOnly:
- "Dummy sequence class defining __getitem__ but not __len__."
- def __getitem__(self, ndx):
- return 10
-
class CmpErr:
"Dummy element that always raises an error during comparison"
def __eq__(self, other):
for f in (self.module.nlargest, self.module.nsmallest):
self.assertRaises(TypeError, f, 2, LenOnly())
- def test_get_only(self):
- for f in (self.module.heapify, self.module.heappop):
- self.assertRaises(TypeError, f, GetOnly())
- for f in (self.module.heappush, self.module.heapreplace):
- self.assertRaises(TypeError, f, GetOnly(), 10)
- for f in (self.module.nlargest, self.module.nsmallest):
- self.assertRaises(TypeError, f, 2, GetOnly())
-
- def test_get_only(self):
+ def test_cmp_err(self):
seq = [CmpErr(), CmpErr(), CmpErr()]
for f in (self.module.heapify, self.module.heappop):
self.assertRaises(ZeroDivisionError, f, seq)