def test_result(self): nodes = streem.streem( self.items, map=None, reduce=lambda nodes: list(self.take(nodes, 4)), mandatory_levels=[0, 1, 3], ) self.assertEqual( "\n".join(n.as_text() for n in nodes), "\n".join(x for x in (line.partition("|")[2].strip() for line in s_test_data.strip().splitlines()) if x).rstrip("\n"), )
def test_iterator_locking(self): all_inodes = [] def reduce_storing_iterators(inodes): all_inodes.append(inodes) return inodes nodes = list(streem.streem( self.items, map=None, reduce=reduce_storing_iterators, mandatory_levels=[0, 1, 3], )) self.assertEqual(all_inodes[0], []) self.assertRaises(StopIteration, next, all_inodes[1]) for it in all_inodes[2:]: if isinstance(it, list): self.assertEqual(it, []) else: self.assertRaises(streem.LogicError, next, it)
def test_empty(self): self.assertEqual(streem.streem([]), [])