Exemplo n.º 1
0
    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"),
        )
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
 def test_empty(self):
     self.assertEqual(streem.streem([]), [])