def test_valid_passport(self): self.assertIn('ecl', self.person1) self.assertNotIn('hgt', self.person2) self.assertNotIn('cid', self.person3) self.assertNotIn('cid', self.person4) self.assertNotIn('byr', self.person4) self.assertTrue(Day4.valid_passport(self.person1)) self.assertFalse(Day4.valid_passport(self.person2)) self.assertTrue(Day4.valid_passport(self.person3)) self.assertFalse(Day4.valid_passport(self.person4))
def main(): Day0.run() Day1.run() Day2.run() Day3.run() Day4.run() Day5.run() Day6.run() Day7.run() Day8.run() Day9.run() Day10.run() Day11.run() Day12.run() Day13.run() Day14.run() Day15.run() Day16.run() Day17.run() Day18.run() Day19.run()
def setUp(self): with open('day4_inputs.txt', 'r') as f: day4_text = f.read() self.passports = Day4.text_to_dicts(day4_text) self.person1 = { 'ecl': 'gry', 'pid': '860033327', 'eyr': '2020', 'hcl': '#fffffd', 'byr': '1937', 'iyr': '2017', 'cid': '147', 'hgt': '183cm' } self.person2 = { 'iyr': '2013', 'ecl': 'amb', 'cid': '350', 'eyr': '2023', 'pid': '028048884', 'hcl': '#cfa07d', 'byr': '1929' } self.person3 = { 'hcl': '#ae17e1', 'iyr': '2013', 'eyr': '2024', 'ecl': 'brn', 'pid': '760753108', 'byr': '1931', 'hgt': '179cm' } self.person4 = { 'hcl': '#cfa07d', 'eyr': '2025', 'pid': '166559648', 'iyr': '2011', 'ecl': 'brn', 'hgt': '59in' }
def test_case_1(self): secret_key = "abcdef" expected = 609043 actual = Day4.lowest_salt_with_leading_zeroes(secret_key) self.assertEqual(expected, actual)
def test_case_2(self): secret_key = "pqrstuv" expected = 1048970 actual = Day4.lowest_salt_with_leading_zeroes(secret_key) self.assertEqual(expected, actual)
def testFakeRooms(self): self.assertFalse(Day4.isRealRoom('totally-real-room-200[decoy]'))
def testRealRooms(self): self.assertTrue(Day4.isRealRoom('aaaaa-bbb-z-y-x-123[abxyz]')) self.assertTrue(Day4.isRealRoom('a-b-c-d-e-f-g-h-987[abcde]')) self.assertTrue(Day4.isRealRoom('not-a-real-room-404[oarel]'))
def test_run_pt2(self): input_list = common.loadInput('testInput4-p2.txt', False) testObject = Day4.Solution() self.assertEqual(4, testObject.part2(input_list))
def test_puzzledata(self): self.assertEqual(Day4.solve("puzzledata.txt"), 72925)
def test_testdata1(self): self.assertEqual(Day4.solve("testdata1.txt"), 240)