Beispiel #1
0
    def test_connect(self):
        e1 = Element()
        e2 = Element()

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

        e3 = Element()
        e4 = Element()
        e5 = Element()
        e6 = Element()

        ret = e3.connect(e4, e5, e6)
        self.assertEqual(ret, e3)
        self.assertEqual(e3.outgoing, [e4, e5, e6])
Beispiel #2
0
    def test_to(self):
        e1 = Element()
        e2 = Element()

        self.assertEqual(e1.to(e1), e1)
        self.assertEqual(e1.to(e2), e2)
        self.assertEqual(e2.to(e1), e1)
Beispiel #3
0
 def test_type(self):
     e1 = Element()
     self.assertRaises(NotImplementedError, e1.type)
Beispiel #4
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)