Ejemplo n.º 1
0
 def test_apply_threshold(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.apply_threshold()
     assert np.alltrue(maker.adj.values.diagonal() == np.zeros(5))
     assert adj.values[1, 0] == 0
     assert adj.values[1, 2] != 0
Ejemplo n.º 2
0
def _run_graph(adj, threshold, gml_path, csv_path, louvain, resolution, n_comms, seed):
    # Note: This function is separated for testing purposes.
    leiden = not louvain
    if seed is not None:
        seed = int(seed)
    maker = graph.Maker(adj, gml_path, csv_path, leiden, threshold, resolution, n_comms, seed)
    maker.make_gml_csv_files()
Ejemplo n.º 3
0
 def test_build_ndarray(self):
     adj = self._build_adj().values
     maker = graph.Maker(adj)
     maker.build()
     assert type(maker.graph) == networkx.Graph
     assert len(maker.graph) == 5
     assert len(maker.graph.edges()) == 9
     assert len(networkx.get_edge_attributes(maker.graph, "weight")) == 9
Ejemplo n.º 4
0
 def _get_maker_with_partition(self, out_path):
     gml_path = str(out_path.join("out_main_sub.gml"))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path, seed=0)
     maker.build()
     maker.save(True)
     maker.get_partition()
     return maker
Ejemplo n.º 5
0
 def test_build(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.build()
     assert type(maker.graph) == networkx.Graph
     assert len(maker.graph) == 5
     assert len(maker.graph.edges()) == 9
     assert len(networkx.get_edge_attributes(maker.graph, "weight")) == 9
     assert maker.adj is None
     assert maker.main_sub is not None
Ejemplo n.º 6
0
 def test_membership2attribute_disconnected_ncomms3(self, tmpdir):
     gml_path = str(tmpdir.join("out_main_sub.gml"))
     g = self._build_disconnected_graph()
     maker = graph.Maker(gml_path=gml_path, n_comms=3, gamma=10)
     maker.graph = g
     maker.find_main_sub()
     maker.save(True)
     maker.get_partition()
     name2group = maker.membership2attribute()
     expected = {0: 0, 1: 1, 2: 2, 3: 3, 4: 3, 5: 3, 6: 3, 7: 3, 8: 3, 9: 3}
     assert name2group == expected
Ejemplo n.º 7
0
 def test_membership2attribute_disconnected_ncomms1(self, tmpdir):
     gml_path = str(tmpdir.join("out_main_sub.gml"))
     g = self._build_disconnected_graph()
     maker = graph.Maker(gml_path=gml_path, n_comms=1)
     maker.graph = g
     maker.find_main_sub()
     maker.save(True)
     maker.get_partition()
     name2group = maker.membership2attribute()
     expected = {0: 1, 1: 1, 2: 0, 3: 1, 4: 0, 5: 0, 6: 0, 7: 1, 8: 1, 9: 1}
     assert name2group == expected
Ejemplo n.º 8
0
 def test_save_main_sub(self, tmpdir):
     gml_path = str(tmpdir.join("out_main_sub.gml"))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path)
     maker.build()
     maker.save(main_sub=True)
     saved = networkx.read_gml(gml_path)
     expected = [str(n) for n in maker.main_sub.nodes()]
     assert list(saved.nodes()) == expected
     expected = [(str(n1), str(n2)) for n1, n2 in maker.main_sub.edges()]
     assert list(saved.edges()) == expected
Ejemplo n.º 9
0
 def test_save(self, tmpdir):
     gml_path = str(tmpdir.join('out.gml'))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path)
     maker.build()
     maker.save()
     saved = networkx.read_gml(gml_path)
     expected = [str(n) for n in maker.graph.nodes()]
     assert list(saved.nodes()) == expected
     expected = [(str(n1), str(n2)) for n1, n2 in maker.graph.edges()]
     assert list(saved.edges()) == expected
Ejemplo n.º 10
0
 def test_make_gml_file(self, tmpdir):
     gml_path = str(tmpdir.join("out.gml"))
     csv_path = str(tmpdir.join("out.csv"))
     adj = self._build_adj()
     maker = graph.Maker(adj, gml_path=gml_path, csv_path=csv_path)
     maker.make_gml_csv_files()
     in_graph = networkx.read_gml(gml_path)
     assert list(in_graph.nodes()) == [str(i) for i in range(5)]
     assert len(networkx.get_node_attributes(in_graph, "Group")) == 5
     df = pd.read_csv(csv_path, index_col=0)
     assert np.alltrue(df.index.values == np.arange(5))
     assert np.alltrue(df["Group"].values == np.array([1, 0, 1, 0, 0]))
Ejemplo n.º 11
0
 def test_build_no_main_sub(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.build(main_sub=False)
     assert maker.main_sub is None
Ejemplo n.º 12
0
 def test_build_no_clear_adj(self):
     adj = self._build_adj()
     maker = graph.Maker(adj)
     maker.build(clear_adj=False)
     assert maker.adj.equals(adj)
Ejemplo n.º 13
0
 def test_apply_threshold_ndarray(self):
     adj = self._build_adj().values
     maker = graph.Maker(adj, threshold=1)
     maker.apply_threshold()
     assert maker.adj.sum() == 0