def test_flatten_edges(self):
g = nx.MultiDiGraph()
g.add_edge(1, 2, key=5, attr_dict={'A': 'a', 'B': {'C': 'c', 'D': 'd'}})
result = pybel.utils.flatten_graph_data(g)
expected = nx.MultiDiGraph()
expected.add_edge(1, 2, key=5, attr_dict={'A': 'a', 'B_C': 'c', 'B_D': 'd'})
self.assertEqual(set(result.nodes()), set(expected.nodes()))
res_edges = result.edges(keys=True)
exp_edges = expected.edges(keys=True)
self.assertEqual(set(res_edges), set(exp_edges))
for u, v, k in expected.edges(keys=True):
self.assertEqual(expected[u][v][k], result[u][v][k])
评论列表
文章目录