summaryrefslogtreecommitdiffstats
path: root/day12/test_init.py
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2021-12-13 10:20:50 +0100
committerGravatar Tom van der Lee <tom@vanderlee.io>2021-12-13 10:20:50 +0100
commit7bbeb8155521686bd9bbd28fec5cb91ffb8360af (patch)
treed0f272a59681223e0af204363b500a1f78626f09 /day12/test_init.py
parent2de80670eb989467111da967ccc78de7c00f06bc (diff)
download2021-7bbeb8155521686bd9bbd28fec5cb91ffb8360af.tar.gz
2021-7bbeb8155521686bd9bbd28fec5cb91ffb8360af.tar.bz2
2021-7bbeb8155521686bd9bbd28fec5cb91ffb8360af.zip
Day 12
Diffstat (limited to 'day12/test_init.py')
-rw-r--r--day12/test_init.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/day12/test_init.py b/day12/test_init.py
new file mode 100644
index 0000000..f6e78e1
--- /dev/null
+++ b/day12/test_init.py
@@ -0,0 +1,72 @@
1from day12 import Node, AssignmentOne, AssignmentTwo
2
3
4def test_calculate_all_paths_assignment_one():
5 start = Node(id='start')
6 end = Node(id='end')
7
8 start.nodes.add(end)
9 end.nodes.add(start)
10
11 assert AssignmentOne.calculate_all_paths(start, end) == [
12 [start, end]
13 ]
14
15 a = Node(id='a')
16 start.nodes = { a }
17 a.nodes = { start, end }
18 end.nodes = { end }
19
20 assert AssignmentOne.calculate_all_paths(start, end) == [
21 [start, a, end]
22 ]
23
24 b = Node(id='b')
25 start.nodes = { a, b }
26 b.nodes = { start, end }
27 a.nodes = { start, end }
28 end.nodes = { a, b }
29
30 assert sorted(AssignmentOne.calculate_all_paths(start, end)) == sorted([
31 [start, a, end],
32 [start, b, end]
33 ])
34
35 a.nodes.add(b)
36 b.nodes.add(a)
37
38 assert sorted(AssignmentOne.calculate_all_paths(start, end)) == sorted([
39 [start, a, end],
40 [start, a, b, end],
41 [start, b, end],
42 [start, b, a, end]
43 ])
44
45 a.big = True
46
47 assert sorted(AssignmentOne.calculate_all_paths(start, end)) == sorted([
48 [start, a, end],
49 [start, a, b, end],
50 [start, a, b, a, end],
51 [start, b, end],
52 [start, b, a, end],
53 ])
54
55
56def test_calculate_all_paths_assignment_two():
57 start = Node(id='start')
58 end = Node(id='end')
59
60 a = Node(id='a')
61 b = Node(id='b')
62
63 start.nodes.add(a)
64 a.nodes.add(b)
65 a.nodes.add(start)
66 b.nodes.add(a)
67 b.nodes.add(end)
68 end.nodes.add(b)
69
70 assert sorted(AssignmentTwo.calculate_all_paths(start, end)) == sorted([
71 [start, a, b, end]
72 ])