219
220
self.assertRaises((OverflowError, ValueError), chr, 2**32)
221
222
def test_cmp(self):
222
self.assertEqual(cmp(-1, 1), -1)
223
self.assertEqual(cmp(1, -1), 1)
224
self.assertEqual(cmp(1, 1), 0)
225
# verify that circular objects are not handled
228
from collections import UserList
229
c = UserList(); c.append(c)
230
self.assertRaises(RuntimeError, cmp, a, b)
231
self.assertRaises(RuntimeError, cmp, b, c)
232
self.assertRaises(RuntimeError, cmp, c, a)
233
self.assertRaises(RuntimeError, cmp, a, c)
234
# okay, now break the cycles
235
a.pop(); b.pop(); c.pop()
236
self.assertRaises(TypeError, cmp)
223
self.assert_(not hasattr(builtins, "cmp"))
238
225
def test_compile(self):
239
226
compile('print(1)\n', '', 'exec')
624
611
def __len__(self):
626
613
self.assertRaises(ValueError, len, BadSeq())
617
self.assertRaises(TypeError, len, InvalidLen())
621
self.assertRaises(TypeError, len, FloatLen())
624
return sys.maxsize + 1
625
self.assertRaises(OverflowError, len, HugeLen())
628
627
def test_map(self):
629
628
self.assertEqual(
736
735
def __getitem__(self, index):
738
737
self.assertRaises(ValueError, min, BadSeq())
740
def __cmp__(self, other):
742
self.assertRaises(TypeError, min, (42, BadNumber()))
745
740
"min(key=int)", # no args
1083
1078
self.assertEqual(round(8), 8)
1084
1079
self.assertEqual(round(-8), -8)
1085
1080
self.assertEqual(type(round(0)), int)
1086
self.assertEqual(type(round(-8, -1)), float)
1087
self.assertEqual(type(round(-8, 0)), float)
1088
self.assertEqual(type(round(-8, 1)), float)
1081
self.assertEqual(type(round(-8, -1)), int)
1082
self.assertEqual(type(round(-8, 0)), int)
1083
self.assertEqual(type(round(-8, 1)), int)
1090
1085
# test new kwargs
1091
1086
self.assertEqual(round(number=-8.0, ndigits=-1), -10.0)