(self)
| 196 | self.assertEqual(type(reversed(x)), type(iter(x))) |
| 197 | |
| 198 | def test_len(self): |
| 199 | for s in ('hello', tuple('hello'), list('hello'), range(5)): |
| 200 | self.assertEqual(operator.length_hint(reversed(s)), len(s)) |
| 201 | r = reversed(s) |
| 202 | list(r) |
| 203 | self.assertEqual(operator.length_hint(r), 0) |
| 204 | class SeqWithWeirdLen: |
| 205 | called = False |
| 206 | def __len__(self): |
| 207 | if not self.called: |
| 208 | self.called = True |
| 209 | return 10 |
| 210 | raise ZeroDivisionError |
| 211 | def __getitem__(self, index): |
| 212 | return index |
| 213 | r = reversed(SeqWithWeirdLen()) |
| 214 | self.assertRaises(ZeroDivisionError, operator.length_hint, r) |
| 215 | |
| 216 | |
| 217 | def test_gc(self): |
nothing calls this directly
no test coverage detected