def test_add_edge_table_different_type(self): g = Graph() v1, v2 = g.add_vertices(2) g.set_type(v1,1) g.set_type(v2,2) etab = {(v1,v2):[0,2]} g.add_edge_table(etab) self.assertTrue(g.connected(v1,v2)) self.assertEqual((g.phase(v1),g.phase(v2)),(0,0)) g.remove_edge(g.edge(v1,v2)) self.assertFalse(g.connected(v1,v2)) etab = {(v1,v2):[2,0]} g.add_edge_table(etab) self.assertFalse(g.connected(v1,v2)) etab = {(v1,v2): [1,1]} g.add_edge_table(etab) self.assertEqual(g.edge_type(g.edge(v1,v2)),2) self.assertTrue((g.phase(v1)==1 and g.phase(v2)==0) or (g.phase(v1)==0 and g.phase(v2)==1))
def test_add_edge_table_same_type(self): g = Graph() v1, v2 = g.add_vertices(2) g.set_type(v1,VertexType.Z) g.set_type(v2,VertexType.Z) etab = {(v1,v2):[2,0]} g.add_edge_table(etab) self.assertTrue(g.connected(v1,v2)) self.assertEqual((g.phase(v1),g.phase(v2)),(0,0)) g.remove_edge(g.edge(v1,v2)) self.assertFalse(g.connected(v1,v2)) etab = {(v1,v2):[0,2]} g.add_edge_table(etab) self.assertFalse(g.connected(v1,v2)) etab = {(v1,v2): [1,1]} g.add_edge_table(etab) self.assertEqual(g.edge_type(g.edge(v1,v2)),EdgeType.SIMPLE) self.assertTrue((g.phase(v1)==1 and g.phase(v2)==0) or (g.phase(v1)==0 and g.phase(v2)==1))