-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_connected_graph.py
36 lines (29 loc) · 1.07 KB
/
test_connected_graph.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import unittest
from .connected_graph import Node
class TestConnectedGraph(unittest.TestCase):
def test_acyclic_graph(self):
"""Example graph from https://upload.wikimedia.org/wikipedia/commons/0/03/Directed_acyclic_graph_2.svg"""
n12 = Node(12)
n9 = Node(9, [n12])
n10 = Node(10)
n8 = Node(8, [n9])
n3 = Node(3, [n8, n10])
n2 = Node(2)
n11 = Node(11, [n2, n9, n10])
n5 = Node(5, [n11])
self.assertTrue(n3.connected_to(n9))
self.assertTrue(n11.connected_to(n9))
self.assertTrue(n3.connected_to(n9))
self.assertTrue(n11.connected_to(n9))
self.assertTrue(n5.connected_to(n9))
self.assertFalse(n9.connected_to(n5))
self.assertFalse(n9.connected_to(n11))
self.assertFalse(n3.connected_to(n11))
self.assertTrue(n5.connected_to(n12))
def test_connected_to_self(self):
n1 = Node(1)
self.assertTrue(n1.connected_to(n1))
""" def test_missing_target(self):
n1 = Node(1)
self.throwsError(n1.connected_to())
"""