def test_can_load_data(self): target = PartOne() passwords = target.load_data("test_data.txt") self.assertEqual(len(passwords), 3)
def test_can_load_data(self): target = PartOne() numbers = target.load_data("test_data.txt") self.assertEqual(len(numbers), 6)
def test_returns_final_expected_answer(self): target = PartOne() numbers = target.load_data("test_data.txt") pair = target.find_pair(numbers) answer = target.calculate_answer(pair) self.assertEqual(answer, 514579)
def test_can_find_number_pair(self): target = PartOne() numbers = target.load_data("test_data.txt") answer = target.find_pair(numbers) self.assertEqual(answer[0] + answer[1], 2020)
def test_valid_password_passes(self): target = PartOne() password = target.parse_line("1-3 a: abcde") result = target.validate_password(password) self.assertTrue(result)
def test_invalid_password_fails(self): target = PartOne() password = target.parse_line("1-3 b: cdefg") result = target.validate_password(password) self.assertFalse(result)
def test_count_returns_correct_number(self): target = PartOne() passwords = target.load_data("test_data.txt") result = target.count_valid_passwords(passwords) self.assertEqual(2, result[0]) self.assertEqual(1, result[1])
def test_line_parses_correctly(self): target = PartOne() result = target.parse_line("2-5 g: abcgg") self.assertEqual(2, result.min) self.assertEqual(5, result.max) self.assertEqual("g", result.key) self.assertEqual("abcgg", result.password)
def test_load_data_seperates_groups(self): target = PartOne() data = target.load_data("test_data.txt") self.assertEqual(len(data), 5) self.assertEqual(len(data[0]), 1) self.assertEqual(len(data[1]), 3) self.assertEqual(len(data[2]), 2) self.assertEqual(len(data[3]), 4) self.assertEqual(len(data[4]), 1)
def main(): print("Qual parte do projeto deseja rodar?\n") print("[1] Parte 1\n") print("[2] Parte 2\n") part = int(input("Digite aqui: ")) if (part == 1): Part = PartOne() elif (part == 2): Part = PartTwo() else: return print("\n") print("Iniciando Parte ", part, "\n") Part.run()
from part_one import PartOne, BoardingPass if __name__ == "__main__": target = PartOne() boarding_passes = target.load_data("part_one.txt") ids = [] for boarding_pass in boarding_passes: ids.append(boarding_pass.calculate_id()) # find empty seats below 835 (max id from part one) for x in range(835): if not x in ids: print("Empty seat found: {0}".format(x))
def test_unique_count(self): target = PartOne() data = ["abc", "abcd"] unique_count = target.count_unique_answers(data) self.assertEqual(unique_count, 4)
from part_one import PartOne, Vector if __name__ == "__main__": instance = PartOne() map = instance.load_data("part_one.txt") trees = [] trees.append(instance.map_path(map, Vector(1, 1))) trees.append(instance.map_path(map, Vector(3, 1))) trees.append(instance.map_path(map, Vector(5, 1))) trees.append(instance.map_path(map, Vector(7, 1))) trees.append(instance.map_path(map, Vector(1, 2))) product = 1 for i in trees: product = product * i print("Product: {0}".format(product))