def filter(self): l = LazyList(range(30)) l2 = l.filter(_ % 2 == 0) l2.strict.should.have.length_of(0) l3 = LazyList(range(30)) l3[29] l4 = l3.filter(_ % 2 == 0) l4.strict.should.have.length_of(15) l4.drain.should.equal(List.wrap(range(0, 30, 2)))
def traverse(self): n = 3 l = LazyList(map(Just, range(n))) target = LazyList(List.wrap(range(n))) (l.sequence(Maybe) / _.drain).should.contain(target.drain)
def deep(self): n = int(1e4) l = LazyList(List.wrap(range(n))) l.index_of(n - 1).should.contain(n - 1)
def find(self): l = LazyList(range(30), chunk_size=20) l.find(_ == 21).should.contain(21) l.find(_ == 49).should.be.empty
def index_of(self): l = LazyList(range(30), chunk_size=20) l.index_of(21).should.contain(21) l.index_of(49).should.be.empty
def with_index(self): l = LazyList(itertools.count(), chunk_size=20) l2 = l.map(_ * 5).with_index l2[:2].should.equal(List((0, 0), (1, 5)))
def map(self): l = LazyList(itertools.count(), chunk_size=20) l2 = l.map(_ * 10) l2[:5].should.equal(List.wrap(range(0, 50, 10)))