def test_LazyList(self):
    it = list(range(10))
    self.assertEqual(list(LazyList(it)), it)
    self.assertEqual(LazyList(it).exhaust(), it)
    self.assertEqual(LazyList(it)[5], it[5])
    self.assertEqual(LazyList(it)[5:], it[5:])
    self.assertEqual(LazyList(it)[:5], it[:5])
    self.assertEqual(LazyList(it)[::2], it[::2])
    self.assertEqual(LazyList(it)[1::2], it[1::2])
    self.assertEqual(LazyList(it)[5::(- 1)], it[5::(- 1)])
    self.assertEqual(LazyList(it)[6:2:(- 2)], it[6:2:(- 2)])
    self.assertEqual(LazyList(it)[::(- 1)], it[::(- 1)])
    self.assertTrue(LazyList(it))
    self.assertFalse(LazyList(range(0)))
    self.assertEqual(len(LazyList(it)), len(it))
    self.assertEqual(repr(LazyList(it)), repr(it))
    self.assertEqual(str(LazyList(it)), str(it))
    self.assertEqual(list(LazyList(it, reverse=True)), it[::(- 1)])
    self.assertEqual(list(reversed(LazyList(it))[::(- 1)]), it)
    self.assertEqual(list(reversed(LazyList(it))[1:3:7]), it[::(- 1)][1:3:7])
def test_LazyList(self):
    it = list(range(10))
    self.assertEqual(list(LazyList(it)), it)
    self.assertEqual(LazyList(it).exhaust(), it)
    self.assertEqual(LazyList(it)[5], it[5])
    self.assertEqual(LazyList(it)[5:], it[5:])
    self.assertEqual(LazyList(it)[:5], it[:5])
    self.assertEqual(LazyList(it)[::2], it[::2])
    self.assertEqual(LazyList(it)[1::2], it[1::2])
    self.assertEqual(LazyList(it)[5::(- 1)], it[5::(- 1)])
    self.assertEqual(LazyList(it)[6:2:(- 2)], it[6:2:(- 2)])
    self.assertEqual(LazyList(it)[::(- 1)], it[::(- 1)])
    self.assertTrue(LazyList(it))
    self.assertFalse(LazyList(range(0)))
    self.assertEqual(len(LazyList(it)), len(it))
    self.assertEqual(repr(LazyList(it)), repr(it))
    self.assertEqual(str(LazyList(it)), str(it))
    self.assertEqual(list(LazyList(it, reverse=True)), it[::(- 1)])
    self.assertEqual(list(reversed(LazyList(it))[::(- 1)]), it)
    self.assertEqual(list(reversed(LazyList(it))[1:3:7]), it[::(- 1)][1:3:7])