예제 #1
0
 def test_parse_input(self):
     rules, entries = day19.read_input('input.test.txt')
     self.assertEqual(rules[4], [['a']])
     self.assertEqual(rules[3], [[4, 5], [5, 4]])
     self.assertEqual(entries[2], 'abbbab')
예제 #2
0
 def test_matches_rules_patched_elems_part2(self):
     rules, _ = day19.read_input('input.test2.txt')
     rules = day19.patch_rules(rules)
     matcher = day19.matcher(rules)
     self.assertFalse(matcher('aaaabbaaaabbaaa'))
     self.assertTrue(matcher('aaaaabbaabaaaaababaa'))
예제 #3
0
 def test_matches_rules(self):
     rules, _ = day19.read_input('input.test.txt')
     matcher = day19.matcher(rules)
     self.assertTrue(matcher('aaaabb'))
     self.assertFalse(matcher('aaaabbb'))
예제 #4
0
 def test_matches_rules_patched_count_part2(self):
     rules, entries = day19.read_input('input.test2.txt')
     rules = day19.patch_rules(rules)
     self.assertEqual(day19.count_matching_entries(rules, entries), 12)
예제 #5
0
def test_read_input():
    assert read_input(TEST_INPUT) == (RULES, MESSAGES)