Lines Matching refs:self
25 def assert_iterators_equal(self, xs, ys, test_id, limit=None):
37 self.fail('{}: iterator ended unexpectedly '
40 self.fail('{}: unexpected excess element {} at '
43 self.fail('{}: wrong element at position {}; '
46 def test_range(self):
47 self.assertEqual(list(range(3)), [0, 1, 2])
48 self.assertEqual(list(range(1, 5)), [1, 2, 3, 4])
49 self.assertEqual(list(range(0)), [])
50 self.assertEqual(list(range(-3)), [])
51 self.assertEqual(list(range(1, 10, 3)), [1, 4, 7])
52 self.assertEqual(list(range(5, -5, -3)), [5, 2, -1, -4])
58 self.assertEqual(list(range(a, a+2)), [a, a+1])
59 self.assertEqual(list(range(a+2, a, -1)), [a+2, a+1])
60 self.assertEqual(list(range(a+4, a, -2)), [a+4, a+2])
63 self.assertIn(a, seq)
64 self.assertNotIn(b, seq)
65 self.assertEqual(len(seq), 2)
68 self.assertIn(b, seq)
69 self.assertNotIn(a, seq)
70 self.assertEqual(len(seq), 2)
73 self.assertIn(-a, seq)
74 self.assertNotIn(-b, seq)
75 self.assertEqual(len(seq), 2)
77 self.assertRaises(TypeError, range)
78 self.assertRaises(TypeError, range, 1, 2, 3, 4)
79 self.assertRaises(ValueError, range, 1, 2, 0)
81 self.assertRaises(TypeError, range, 0.0, 2, 1)
82 self.assertRaises(TypeError, range, 1, 2.0, 1)
83 self.assertRaises(TypeError, range, 1, 2, 1.0)
84 self.assertRaises(TypeError, range, 1e100, 1e101, 1e101)
86 self.assertRaises(TypeError, range, 0, "spam")
87 self.assertRaises(TypeError, range, 0, 42, "spam")
89 self.assertEqual(len(range(0, sys.maxsize, sys.maxsize-1)), 2)
92 self.assertEqual(len(r), sys.maxsize)
94 def test_range_constructor_error_messages(self):
95 with self.assertRaisesRegex(
101 with self.assertRaisesRegex(
107 def test_large_operands(self):
109 self.assertEqual(len(x), 4)
110 self.assertEqual(len(list(x)), 4)
113 self.assertEqual(len(x), 0)
114 self.assertEqual(len(list(x)), 0)
115 self.assertFalse(x)
118 self.assertEqual(len(x), 0)
119 self.assertEqual(len(list(x)), 0)
120 self.assertFalse(x)
123 self.assertEqual(len(x), 4)
124 self.assertEqual(len(list(x)), 4)
125 self.assertTrue(x)
131 self.assertEqual(list(x), [])
132 self.assertFalse(x)
138 self.assertEqual(list(range(a, a+2)), [a, a+1])
139 self.assertEqual(list(range(a+2, a, -1)), [a+2, a+1])
140 self.assertEqual(list(range(a+4, a, -2)), [a+4, a+2])
143 self.assertIn(a, seq)
144 self.assertNotIn(b, seq)
145 self.assertEqual(len(seq), 2)
146 self.assertEqual(seq[0], a)
147 self.assertEqual(seq[-1], a+c)
150 self.assertIn(b, seq)
151 self.assertNotIn(a, seq)
152 self.assertEqual(len(seq), 2)
153 self.assertEqual(seq[0], b)
154 self.assertEqual(seq[-1], b-c)
157 self.assertIn(-a, seq)
158 self.assertNotIn(-b, seq)
159 self.assertEqual(len(seq), 2)
160 self.assertEqual(seq[0], -a)
161 self.assertEqual(seq[-1], -a-c)
163 def test_large_range(self):
178 self.assertIn(a, x)
179 self.assertNotIn(b, x)
180 self.assertRaises(OverflowError, len, x)
181 self.assertTrue(x)
182 self.assertEqual(_range_len(x), expected_len)
183 self.assertEqual(x[0], a)
185 self.assertEqual(x[idx], a+idx)
186 self.assertEqual(x[idx:idx+1][0], a+idx)
187 with self.assertRaises(IndexError):
189 with self.assertRaises(IndexError):
196 self.assertIn(a, x)
197 self.assertNotIn(b, x)
198 self.assertRaises(OverflowError, len, x)
199 self.assertTrue(x)
200 self.assertEqual(_range_len(x), expected_len)
201 self.assertEqual(x[0], a)
203 self.assertEqual(x[idx], a+idx)
204 self.assertEqual(x[idx:idx+1][0], a+idx)
205 with self.assertRaises(IndexError):
207 with self.assertRaises(IndexError):
215 self.assertIn(a, x)
216 self.assertNotIn(b, x)
217 self.assertRaises(OverflowError, len, x)
218 self.assertTrue(x)
219 self.assertEqual(_range_len(x), expected_len)
220 self.assertEqual(x[0], a)
222 self.assertEqual(x[idx], a+(idx*c))
223 self.assertEqual(x[idx:idx+1][0], a+(idx*c))
224 with self.assertRaises(IndexError):
226 with self.assertRaises(IndexError):
234 self.assertIn(a, x)
235 self.assertNotIn(b, x)
236 self.assertRaises(OverflowError, len, x)
237 self.assertTrue(x)
238 self.assertEqual(_range_len(x), expected_len)
239 self.assertEqual(x[0], a)
241 self.assertEqual(x[idx], a+(idx*c))
242 self.assertEqual(x[idx:idx+1][0], a+(idx*c))
243 with self.assertRaises(IndexError):
245 with self.assertRaises(IndexError):
248 def test_invalid_invocation(self):
249 self.assertRaises(TypeError, range)
250 self.assertRaises(TypeError, range, 1, 2, 3, 4)
251 self.assertRaises(ValueError, range, 1, 2, 0)
253 self.assertRaises(ValueError, range, a, a + 1, int(0))
254 self.assertRaises(TypeError, range, 1., 1., 1.)
255 self.assertRaises(TypeError, range, 1e100, 1e101, 1e101)
256 self.assertRaises(TypeError, range, 0, "spam")
257 self.assertRaises(TypeError, range, 0, 42, "spam")
260 self.assertRaises(TypeError, range, 0.0)
261 self.assertRaises(TypeError, range, 0, 0.0)
262 self.assertRaises(TypeError, range, 0.0, 0)
263 self.assertRaises(TypeError, range, 0.0, 0.0)
264 self.assertRaises(TypeError, range, 0, 0, 1.0)
265 self.assertRaises(TypeError, range, 0, 0.0, 1)
266 self.assertRaises(TypeError, range, 0, 0.0, 1.0)
267 self.assertRaises(TypeError, range, 0.0, 0, 1)
268 self.assertRaises(TypeError, range, 0.0, 0, 1.0)
269 self.assertRaises(TypeError, range, 0.0, 0.0, 1)
270 self.assertRaises(TypeError, range, 0.0, 0.0, 1.0)
272 def test_index(self):
274 self.assertEqual(u.index(0), 0)
275 self.assertEqual(u.index(1), 1)
276 self.assertRaises(ValueError, u.index, 2)
279 self.assertEqual(u.count(0), 1)
280 self.assertEqual(u.index(0), 2)
281 self.assertRaises(TypeError, u.index)
287 def __eq__(self, other):
293 self.assertRaises(BadExc, a.index, BadCmp())
296 self.assertEqual(a.index(0), 2)
297 self.assertEqual(range(1, 10, 3).index(4), 1)
298 self.assertEqual(range(1, -10, -3).index(-5), 2)
300 self.assertEqual(range(10**20).index(1), 1)
301 self.assertEqual(range(10**20).index(10**20 - 1), 10**20 - 1)
303 self.assertRaises(ValueError, range(1, 2**100, 2).index, 2**87)
304 self.assertEqual(range(1, 2**100, 2).index(2**87+1), 2**86)
306 self.assertEqual(range(10).index(ALWAYS_EQ), 0)
308 def test_user_index_method(self):
314 def __init__(self, n):
315 self.n = int(n)
316 def __index__(self):
317 return self.n
318 self.assertEqual(list(range(I(bignum), I(bignum + 1))), [bignum])
319 self.assertEqual(list(range(I(smallnum), I(smallnum + 1))), [smallnum])
323 def __index__(self):
325 self.assertRaises(RuntimeError, range, IX())
329 def __index__(self):
332 self.assertRaises(TypeError, range, IN())
335 self.assertEqual(range(10)[:I(5)], range(5))
337 with self.assertRaises(RuntimeError):
340 with self.assertRaises(TypeError):
343 def test_count(self):
344 self.assertEqual(range(3).count(-1), 0)
345 self.assertEqual(range(3).count(0), 1)
346 self.assertEqual(range(3).count(1), 1)
347 self.assertEqual(range(3).count(2), 1)
348 self.assertEqual(range(3).count(3), 0)
349 self.assertIs(type(range(3).count(-1)), int)
350 self.assertIs(type(range(3).count(1)), int)
351 self.assertEqual(range(10**20).count(1), 1)
352 self.assertEqual(range(10**20).count(10**20), 0)
353 self.assertEqual(range(3).index(1), 1)
354 self.assertEqual(range(1, 2**100, 2).count(2**87), 0)
355 self.assertEqual(range(1, 2**100, 2).count(2**87+1), 1)
357 self.assertEqual(range(10).count(ALWAYS_EQ), 10)
359 self.assertEqual(len(range(sys.maxsize, sys.maxsize+10)), 10)
361 def test_repr(self):
362 self.assertEqual(repr(range(1)), 'range(0, 1)')
363 self.assertEqual(repr(range(1, 2)), 'range(1, 2)')
364 self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)')
366 def test_pickling(self):
371 with self.subTest(proto=proto, test=t):
373 self.assertEqual(list(pickle.loads(pickle.dumps(r, proto))),
376 def test_iterator_pickling(self):
388 with self.subTest(proto=proto, t=t):
394 self.assertEqual(type(itorg), type(it))
395 self.assertEqual(list(it), data)
404 self.assertEqual(list(it), data[1:])
406 def test_iterator_pickling_overflowing_index(self):
408 with self.subTest(proto=proto):
411 self.assertEqual(idx, 0)
414 self.assertEqual(idx, 2**32 + 1)
417 self.assertEqual(next(it), 2**32 + 1)
419 def test_exhausted_iterator_pickling(self):
429 self.assertEqual(list(i), [])
430 self.assertEqual(list(i2), [])
432 def test_large_exhausted_iterator_pickling(self):
442 self.assertEqual(list(i), [])
443 self.assertEqual(list(i2), [])
445 def test_odd_bug(self):
449 with self.assertRaises(TypeError):
452 def test_types(self):
455 self.assertIn(1.0, range(3))
456 self.assertIn(True, range(3))
457 self.assertIn(1+0j, range(3))
459 self.assertIn(ALWAYS_EQ, range(3))
463 def __int__(self): return 1
464 def __index__(self): return 1
465 self.assertNotIn(C2(), range(3))
467 self.assertIn(int(C2()), range(3))
472 def __eq__(self, other): return True
473 self.assertIn(C3(11), range(10))
474 self.assertIn(C3(11), list(range(10)))
476 def test_strided_limits(self):
478 self.assertIn(0, r)
479 self.assertNotIn(1, r)
480 self.assertIn(2, r)
481 self.assertNotIn(99, r)
482 self.assertIn(100, r)
483 self.assertNotIn(101, r)
486 self.assertIn(0, r)
487 self.assertIn(-1, r)
488 self.assertIn(-19, r)
489 self.assertNotIn(-20, r)
492 self.assertIn(-18, r)
493 self.assertNotIn(-19, r)
494 self.assertNotIn(-20, r)
496 def test_empty(self):
498 self.assertNotIn(0, r)
499 self.assertNotIn(1, r)
502 self.assertNotIn(0, r)
503 self.assertNotIn(-1, r)
504 self.assertNotIn(1, r)
506 def test_range_iterators(self):
523 self.assert_iterators_equal(iter1, iter2, test_id, limit=100)
528 self.assert_iterators_equal(iter1, iter2, test_id, limit=100)
530 def test_range_iterators_invocation(self):
534 self.assertRaises(TypeError, rangeiter_type, 1, 3, 1)
536 self.assertRaises(TypeError, long_rangeiter_type, 1, 3, 1)
538 def test_slice(self):
541 self.assertEqual(list(r[i]), list(r)[i])
542 self.assertEqual(len(r[i]), len(list(r)[i]))
558 def test_contains(self):
560 self.assertIn(0, r)
561 self.assertIn(1, r)
562 self.assertIn(5.0, r)
563 self.assertNotIn(5.1, r)
564 self.assertNotIn(-1, r)
565 self.assertNotIn(10, r)
566 self.assertNotIn("", r)
568 self.assertIn(0, r)
569 self.assertIn(1, r)
570 self.assertIn(5.0, r)
571 self.assertNotIn(5.1, r)
572 self.assertNotIn(-1, r)
573 self.assertNotIn(10, r)
574 self.assertNotIn("", r)
576 self.assertIn(0, r)
577 self.assertNotIn(1, r)
578 self.assertNotIn(5.0, r)
579 self.assertNotIn(5.1, r)
580 self.assertNotIn(-1, r)
581 self.assertNotIn(10, r)
582 self.assertNotIn("", r)
584 self.assertNotIn(0, r)
585 self.assertIn(1, r)
586 self.assertIn(5.0, r)
587 self.assertNotIn(5.1, r)
588 self.assertNotIn(-1, r)
589 self.assertNotIn(10, r)
590 self.assertNotIn("", r)
592 def test_reverse_iteration(self):
599 self.assertEqual(list(reversed(r)), list(r)[::-1])
601 def test_issue11845(self):
610 def test_comparison(self):
621 self.assertEqual(ranges_eq, tuples_eq)
625 self.assertEqual(ranges_ne, [not x for x in ranges_eq])
631 self.assertEqual(hash(a), hash(b))
634 self.assertIs(range(0) == (), False)
635 self.assertIs(() == range(0), False)
636 self.assertIs(range(2) == [0, 1], False)
639 self.assertEqual(range(0, 2**100 - 1, 2),
641 self.assertEqual(hash(range(0, 2**100 - 1, 2)),
643 self.assertNotEqual(range(0, 2**100, 2),
645 self.assertEqual(range(2**200, 2**201 - 2**99, 2**100),
647 self.assertEqual(hash(range(2**200, 2**201 - 2**99, 2**100)),
649 self.assertNotEqual(range(2**200, 2**201, 2**100),
653 with self.assertRaises(TypeError):
655 with self.assertRaises(TypeError):
657 with self.assertRaises(TypeError):
659 with self.assertRaises(TypeError):
663 def test_attributes(self):
665 self.assert_attrs(range(0), 0, 0, 1)
666 self.assert_attrs(range(10), 0, 10, 1)
667 self.assert_attrs(range(-10), 0, -10, 1)
668 self.assert_attrs(range(0, 10, 1), 0, 10, 1)
669 self.assert_attrs(range(0, 10, 3), 0, 10, 3)
670 self.assert_attrs(range(10, 0, -1), 10, 0, -1)
671 self.assert_attrs(range(10, 0, -3), 10, 0, -3)
672 self.assert_attrs(range(True), 0, 1, 1)
673 self.assert_attrs(range(False, True), 0, 1, 1)
674 self.assert_attrs(range(False, True, True), 0, 1, 1)
676 def assert_attrs(self, rangeobj, start, stop, step):
677 self.assertEqual(rangeobj.start, start)
678 self.assertEqual(rangeobj.stop, stop)
679 self.assertEqual(rangeobj.step, step)
680 self.assertIs(type(rangeobj.start), int)
681 self.assertIs(type(rangeobj.stop), int)
682 self.assertIs(type(rangeobj.step), int)
684 with self.assertRaises(AttributeError):
686 with self.assertRaises(AttributeError):
688 with self.assertRaises(AttributeError):
691 with self.assertRaises(AttributeError):
693 with self.assertRaises(AttributeError):
695 with self.assertRaises(AttributeError):