-
Notifications
You must be signed in to change notification settings - Fork 0
/
Day16-Unittest.py
64 lines (43 loc) · 1.77 KB
/
Day16-Unittest.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from Day16 import *
from unittest import TestSuite, makeSuite, TextTestRunner, TestCase
class Day16UnitTests(TestCase):
def setUp(self):
self._sut = AdventDaySixteen()
def test_parse_one_aunt(self):
test = 'Sue 28: goldfish: 8, trees: 7, akitas: 10'
self._sut.parse_one_aunt(test)
self.assertTrue(28 in self._sut.aunts.keys())
self.assertDictEqual({
'goldfish': '8',
'trees': '7',
'akitas': '10'
}, self._sut.aunts[28])
def test_is_match_true(self):
test = 'Sue 33: trees: 3, cars: 2, perfumes: 1'
self._sut.parse_one_aunt(test)
result = self._sut.is_match(self._sut.aunts[33])
self.assertTrue(result)
def test_is_match_false(self):
test = 'Sue 33: trees: 33, cars: 2, perfumes: 1'
self._sut.parse_one_aunt(test)
result = self._sut.is_match(self._sut.aunts[33])
self.assertFalse(result)
def test_is_match_part2_true(self):
test = 'Sue 33: trees: 9, cars: 2, goldfish: 1'
self._sut.parse_one_aunt(test)
result = self._sut.is_match_part2(self._sut.aunts[33])
self.assertTrue(result)
def test_is_match_part2_false_trees(self):
test = 'Sue 33: trees: 3, cars: 2, goldfish: 9'
self._sut.parse_one_aunt(test)
result = self._sut.is_match_part2(self._sut.aunts[33])
self.assertFalse(result)
def test_is_match_part2_false_goldfish(self):
test = 'Sue 33: trees: 2, cars: 2, goldfish: 1'
self._sut.parse_one_aunt(test)
result = self._sut.is_match_part2(self._sut.aunts[33])
self.assertFalse(result)
testSuite = TestSuite()
testSuite.addTest(makeSuite(Day16UnitTests))
runner = TextTestRunner(verbosity=2)
runner.run(testSuite)