def test_absorb_4(self): test = [0] def f(x, y): test[0] += 1 zz.range(10).absorb(f, None) self.assertEqual(test, [10])
def test_find_3(self): self.assertEqual( zz.range(10).find(lambda x: False, default="No"), "No")
def test_find_2(self): self.assertEqual(zz.range(10).find(lambda x: False), None)
def test_find_1(self): self.assertEqual(zz.range(10).find(lambda x: x > 5), 6)
def test_absorb_1(self): res = zz.range(5).absorb(lambda x, y: x.append(y), []) self.assertEqual(res, list(range(5)))
def test_absorb_3(self): obj = object() res = zz.range(10).absorb(lambda x, y: 0, obj) self.assertEqual(obj, res)
def test_map_1(self): self.assertEqual(zz.range(0, 5).map(lambda x: x + 1).list(), list(range(1, 6)))
def test_len(self): self.assertEqual(len(zz.range(10)), 10)
def test_drop_2(self): # Should handle out-of-bounds by truncating self.assertTrue(zz.range(3).drop(99).null())
def test_drop_3(self): self.assertEqual(zz.range(10).drop(0).list(), list(range(10)))
def test_drop_1(self): self.assertEqual(zz.range(10).drop(5).list(), [5, 6, 7, 8, 9])
def test_take_3(self): self.assertTrue(zz.range(10).take(0).null())
def test_take_2(self): # Should handle out-of-bounds by truncating self.assertEqual(zz.range(3).take(99).list(), [0, 1, 2])
def test_take_1(self): self.assertEqual(zz.range(10).take(2).list(), [0, 1])
def test_islice_4(self): self.assertEqual(zz.range(10).islice(5, None, 2).list(), [5, 7, 9])