Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/networkx/classes/tests/test_digraph_historical.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4f3585e2f14b |
---|---|
1 """Original NetworkX graph tests""" | |
2 import pytest | |
3 import networkx | |
4 import networkx as nx | |
5 | |
6 from .historical_tests import HistoricalTests | |
7 | |
8 | |
9 class TestDiGraphHistorical(HistoricalTests): | |
10 @classmethod | |
11 def setup_class(cls): | |
12 HistoricalTests.setup_class() | |
13 cls.G = nx.DiGraph | |
14 | |
15 def test_in_degree(self): | |
16 G = self.G() | |
17 G.add_nodes_from("GJK") | |
18 G.add_edges_from([("A", "B"), ("A", "C"), ("B", "D"), ("B", "C"), ("C", "D")]) | |
19 | |
20 assert sorted(d for n, d in G.in_degree()) == [0, 0, 0, 0, 1, 2, 2] | |
21 assert dict(G.in_degree()) == { | |
22 "A": 0, | |
23 "C": 2, | |
24 "B": 1, | |
25 "D": 2, | |
26 "G": 0, | |
27 "K": 0, | |
28 "J": 0, | |
29 } | |
30 | |
31 def test_out_degree(self): | |
32 G = self.G() | |
33 G.add_nodes_from("GJK") | |
34 G.add_edges_from([("A", "B"), ("A", "C"), ("B", "D"), ("B", "C"), ("C", "D")]) | |
35 assert sorted([v for k, v in G.in_degree()]) == [0, 0, 0, 0, 1, 2, 2] | |
36 assert dict(G.out_degree()) == { | |
37 "A": 2, | |
38 "C": 1, | |
39 "B": 2, | |
40 "D": 0, | |
41 "G": 0, | |
42 "K": 0, | |
43 "J": 0, | |
44 } | |
45 | |
46 def test_degree_digraph(self): | |
47 H = nx.DiGraph() | |
48 H.add_edges_from([(1, 24), (1, 2)]) | |
49 assert sorted(d for n, d in H.in_degree([1, 24])) == [0, 1] | |
50 assert sorted(d for n, d in H.out_degree([1, 24])) == [0, 2] | |
51 assert sorted(d for n, d in H.degree([1, 24])) == [1, 2] | |
52 | |
53 def test_neighbors(self): | |
54 G = self.G() | |
55 G.add_nodes_from("GJK") | |
56 G.add_edges_from([("A", "B"), ("A", "C"), ("B", "D"), ("B", "C"), ("C", "D")]) | |
57 | |
58 assert sorted(G.neighbors("C")) == ["D"] | |
59 assert sorted(G["C"]) == ["D"] | |
60 assert sorted(G.neighbors("A")) == ["B", "C"] | |
61 pytest.raises(nx.NetworkXError, G.neighbors, "j") | |
62 pytest.raises(nx.NetworkXError, G.neighbors, "j") | |
63 | |
64 def test_successors(self): | |
65 G = self.G() | |
66 G.add_nodes_from("GJK") | |
67 G.add_edges_from([("A", "B"), ("A", "C"), ("B", "D"), ("B", "C"), ("C", "D")]) | |
68 assert sorted(G.successors("A")) == ["B", "C"] | |
69 assert sorted(G.successors("A")) == ["B", "C"] | |
70 assert sorted(G.successors("G")) == [] | |
71 assert sorted(G.successors("D")) == [] | |
72 assert sorted(G.successors("G")) == [] | |
73 pytest.raises(nx.NetworkXError, G.successors, "j") | |
74 pytest.raises(nx.NetworkXError, G.successors, "j") | |
75 | |
76 def test_predecessors(self): | |
77 G = self.G() | |
78 G.add_nodes_from("GJK") | |
79 G.add_edges_from([("A", "B"), ("A", "C"), ("B", "D"), ("B", "C"), ("C", "D")]) | |
80 assert sorted(G.predecessors("C")) == ["A", "B"] | |
81 assert sorted(G.predecessors("C")) == ["A", "B"] | |
82 assert sorted(G.predecessors("G")) == [] | |
83 assert sorted(G.predecessors("A")) == [] | |
84 assert sorted(G.predecessors("G")) == [] | |
85 assert sorted(G.predecessors("A")) == [] | |
86 assert sorted(G.successors("D")) == [] | |
87 | |
88 pytest.raises(nx.NetworkXError, G.predecessors, "j") | |
89 pytest.raises(nx.NetworkXError, G.predecessors, "j") | |
90 | |
91 def test_reverse(self): | |
92 G = nx.complete_graph(10) | |
93 H = G.to_directed() | |
94 HR = H.reverse() | |
95 assert nx.is_isomorphic(H, HR) | |
96 assert sorted(H.edges()) == sorted(HR.edges()) | |
97 | |
98 def test_reverse2(self): | |
99 H = nx.DiGraph() | |
100 foo = [H.add_edge(u, u + 1) for u in range(0, 5)] | |
101 HR = H.reverse() | |
102 for u in range(0, 5): | |
103 assert HR.has_edge(u + 1, u) | |
104 | |
105 def test_reverse3(self): | |
106 H = nx.DiGraph() | |
107 H.add_nodes_from([1, 2, 3, 4]) | |
108 HR = H.reverse() | |
109 assert sorted(HR.nodes()) == [1, 2, 3, 4] |