def test_triads_by_type(): """Tests the all_triplets function.""" G = nx.DiGraph() G.add_edges_from(["01", "02", "03", "04", "05", "12", "16", "51", "56", "65"]) all_triads = nx.all_triads(G) expected = defaultdict(list) for triad in all_triads: name = nx.triad_type(triad) expected[name].append(triad) actual = nx.triads_by_type(G) assert set(actual.keys()) == set(expected.keys()) for tri_type, actual_Gs in actual.items(): expected_Gs = expected[tri_type] for a in actual_Gs: assert any(nx.is_isomorphic(a, e) for e in expected_Gs)
def test_triads_by_type(): """Tests the all_triplets function.""" G = nx.DiGraph() G.add_edges_from(['01', '02', '03', '04', '05', '12', '16', '51', '56', '65']) all_triads = nx.all_triads(G) expected = defaultdict(list) for triad in all_triads: name = nx.triad_type(triad) expected[name].append(triad) actual = nx.triads_by_type(G) assert set(actual.keys()) == set(expected.keys()) for tri_type, actual_Gs in actual.items(): expected_Gs = expected[tri_type] for a in actual_Gs: assert any(nx.is_isomorphic(a, e) for e in expected_Gs)
def test_triad_type(): """Tests the triad_type function.""" # 0 edges (1 type) G = nx.DiGraph({0: [], 1: [], 2: []}) assert nx.triad_type(G) == "003" # 1 edge (1 type) G = nx.DiGraph({0: [1], 1: [], 2: []}) assert nx.triad_type(G) == "012" # 2 edges (4 types) G = nx.DiGraph([(0, 1), (0, 2)]) assert nx.triad_type(G) == "021D" G = nx.DiGraph({0: [1], 1: [0], 2: []}) assert nx.triad_type(G) == "102" G = nx.DiGraph([(0, 1), (2, 1)]) assert nx.triad_type(G) == "021U" G = nx.DiGraph([(0, 1), (1, 2)]) assert nx.triad_type(G) == "021C" # 3 edges (4 types) G = nx.DiGraph([(0, 1), (1, 0), (2, 1)]) assert nx.triad_type(G) == "111D" G = nx.DiGraph([(0, 1), (1, 0), (1, 2)]) assert nx.triad_type(G) == "111U" G = nx.DiGraph([(0, 1), (1, 2), (0, 2)]) assert nx.triad_type(G) == "030T" G = nx.DiGraph([(0, 1), (1, 2), (2, 0)]) assert nx.triad_type(G) == "030C" # 4 edges (4 types) G = nx.DiGraph([(0, 1), (1, 0), (2, 0), (0, 2)]) assert nx.triad_type(G) == "201" G = nx.DiGraph([(0, 1), (1, 0), (2, 0), (2, 1)]) assert nx.triad_type(G) == "120D" G = nx.DiGraph([(0, 1), (1, 0), (0, 2), (1, 2)]) assert nx.triad_type(G) == "120U" G = nx.DiGraph([(0, 1), (1, 0), ( 0, 2, ), (2, 1)]) assert nx.triad_type(G) == "120C" # 5 edges (1 type) G = nx.DiGraph([(0, 1), (1, 0), (2, 1), (1, 2), (0, 2)]) assert nx.triad_type(G) == "210" # 6 edges (1 type) G = nx.DiGraph([(0, 1), (1, 0), (1, 2), (2, 1), (0, 2), (2, 0)]) assert nx.triad_type(G) == "300"
def test_triad_type(): """Tests the triad_type function.""" # 0 edges (1 type) G = nx.DiGraph({0: [], 1: [], 2: []}) assert nx.triad_type(G) == '003' # 1 edge (1 type) G = nx.DiGraph({0: [1], 1: [], 2: []}) assert nx.triad_type(G) == '012' # 2 edges (4 types) G = nx.DiGraph([(0, 1), (0, 2)]) assert nx.triad_type(G) == '021D' G = nx.DiGraph({0: [1], 1: [0], 2: []}) assert nx.triad_type(G) == '102' G = nx.DiGraph([(0, 1), (2, 1)]) assert nx.triad_type(G) == '021U' G = nx.DiGraph([(0, 1), (1, 2)]) assert nx.triad_type(G) == '021C' # 3 edges (4 types) G = nx.DiGraph([(0, 1), (1, 0), (2, 1)]) assert nx.triad_type(G) == '111D' G = nx.DiGraph([(0, 1), (1, 0), (1, 2)]) assert nx.triad_type(G) == '111U' G = nx.DiGraph([(0, 1), (1, 2), (0, 2)]) assert nx.triad_type(G) == '030T' G = nx.DiGraph([(0, 1), (1, 2), (2, 0)]) assert nx.triad_type(G) == '030C' # 4 edges (4 types) G = nx.DiGraph([(0, 1), (1, 0), (2, 0), (0, 2)]) assert nx.triad_type(G) == '201' G = nx.DiGraph([(0, 1), (1, 0), (2, 0), (2, 1)]) assert nx.triad_type(G) == '120D' G = nx.DiGraph([(0, 1), (1, 0), (0, 2), (1, 2)]) assert nx.triad_type(G) == '120U' G = nx.DiGraph([(0, 1), (1, 0), (0, 2,), (2, 1)]) assert nx.triad_type(G) == '120C' # 5 edges (1 type) G = nx.DiGraph([(0, 1), (1, 0), (2, 1), (1, 2), (0, 2)]) assert nx.triad_type(G) == '210' # 6 edges (1 type) G = nx.DiGraph([(0, 1), (1, 0), (1, 2), (2, 1), (0, 2), (2, 0)]) assert nx.triad_type(G) == '300'