From 7bbeb8155521686bd9bbd28fec5cb91ffb8360af Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Mon, 13 Dec 2021 10:20:50 +0100 Subject: Day 12 --- day12/test_init.py | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 day12/test_init.py (limited to 'day12/test_init.py') 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 @@ +from day12 import Node, AssignmentOne, AssignmentTwo + + +def test_calculate_all_paths_assignment_one(): + start = Node(id='start') + end = Node(id='end') + + start.nodes.add(end) + end.nodes.add(start) + + assert AssignmentOne.calculate_all_paths(start, end) == [ + [start, end] + ] + + a = Node(id='a') + start.nodes = { a } + a.nodes = { start, end } + end.nodes = { end } + + assert AssignmentOne.calculate_all_paths(start, end) == [ + [start, a, end] + ] + + b = Node(id='b') + start.nodes = { a, b } + b.nodes = { start, end } + a.nodes = { start, end } + end.nodes = { a, b } + + assert sorted(AssignmentOne.calculate_all_paths(start, end)) == sorted([ + [start, a, end], + [start, b, end] + ]) + + a.nodes.add(b) + b.nodes.add(a) + + assert sorted(AssignmentOne.calculate_all_paths(start, end)) == sorted([ + [start, a, end], + [start, a, b, end], + [start, b, end], + [start, b, a, end] + ]) + + a.big = True + + assert sorted(AssignmentOne.calculate_all_paths(start, end)) == sorted([ + [start, a, end], + [start, a, b, end], + [start, a, b, a, end], + [start, b, end], + [start, b, a, end], + ]) + + +def test_calculate_all_paths_assignment_two(): + start = Node(id='start') + end = Node(id='end') + + a = Node(id='a') + b = Node(id='b') + + start.nodes.add(a) + a.nodes.add(b) + a.nodes.add(start) + b.nodes.add(a) + b.nodes.add(end) + end.nodes.add(b) + + assert sorted(AssignmentTwo.calculate_all_paths(start, end)) == sorted([ + [start, a, b, end] + ]) -- cgit v1.2.3