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)
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])