advent-of-code/2017-python/tests/day_04_tests.py
2021-11-01 16:45:03 +01:00

37 lines
1.2 KiB
Python

import unittest
from solutions.day_04 import Solution
class Day4TestCase(unittest.TestCase):
def setUp(self):
self.solution = Solution()
def test_passphrase_has_only_unique_words(self):
passphrases = [
'aa bb cc dd ee',
'aa bb cc dd aa',
'aa bb cc dd aaa',
]
assert self.solution.validate(passphrases[0]) == True
assert self.solution.validate(passphrases[1]) == False
assert self.solution.validate(passphrases[2]) == True
assert self.solution.solve('\n'.join(passphrases)) == 2
def test_passphrase_has_no_anagrams(self):
passphrases = [
'abcde fghij',
'abcde xyz ecdab',
'a ab abc abd abf abj',
'iiii oiii ooii oooi oooo',
'oiii ioii iioi iiio',
]
assert self.solution.validate(passphrases[0], True) == True
assert self.solution.validate(passphrases[1], True) == False
assert self.solution.validate(passphrases[2], True) == True
assert self.solution.validate(passphrases[3], True) == True
assert self.solution.validate(passphrases[4], True) == False
if __name__ == '__main__':
unittest.main()