Example #1
0
    def test_converge(self):
        e1 = Element()
        e2 = Element()
        e3 = Element()
        e4 = Element()
        e5 = Element()

        e1.connect(e2, e3, e4)
        ret = e1.converge(e5)
        self.assertEqual(ret, e5)
        self.assertEqual(e2.outgoing, [e5])
        self.assertEqual(e3.outgoing, [e5])
        self.assertEqual(e4.outgoing, [e5])

        e6 = Element()
        e7 = Element()
        e8 = Element()
        e9 = Element()
        e10 = Element()

        ret = e6.extend(e7).extend(e8).to(e6) \
            .extend(e9).to(e6).converge(e10)

        self.assertEqual(ret, e10)
        self.assertEqual(e6.outgoing, [e7, e9])
        self.assertEqual(e7.outgoing, [e8])
        self.assertEqual(e8.outgoing, [e10])
        self.assertEqual(e9.outgoing, [e10])

        e11 = Element()
        self.assertEqual(e11.tail(), e11)
Example #2
0
    def test_extend(self):
        e1 = Element()
        e2 = Element()
        e3 = Element()

        ret = e1.extend(e2).extend(e3)
        self.assertEqual(ret, e3)
        self.assertEqual(e1.outgoing, [e2])
        self.assertEqual(e2.outgoing, [e3])