def test_mine(self): tree_string = data_text(2018, 'day_08_mine.txt') tree_data = [int(num) for num in reversed(tree_string.split())] tree = KeyNode(tree_data) self.assertEqual(43351, tree.sum_metadata()) self.assertEqual(21502, tree.value())
def test_execute_mine(self): initial_memory = list( map(int, data_text(2019, "day_02_mine.txt").split(","))) initial_memory[1] = 12 initial_memory[2] = 2 processor = IntCodeProcessor(initial_memory, instructions_day_02) try: processor.execute() except RuntimeError: pass self.assertEqual(3058646, processor.output)
def test_execute_part_2_mine(self): initial_memory = list( map(int, data_text(2019, "day_05_mine.txt").split(","))) input_values = [5] processor = IntCodeProcessor( initial_memory, instructions_day_05_2, input_values=input_values, ) processor.execute() self.assertListEqual([7873292], processor.output_values)
def test_execute_part_1_mine(self): initial_memory = list( map(int, data_text(2019, "day_05_mine.txt").split(","))) input_values = [1] processor = IntCodeProcessor( initial_memory, instructions_day_05_1, input_values=input_values, ) processor.execute() self.assertTrue( all(value == 0 for value in processor.output_values[:-1])) self.assertEqual(7157989, processor.output_values[-1])
def test_find_noun_and_verb(self): base_memory = list( map(int, data_text(2019, "day_02_mine.txt").split(","))) for noun, verb in itertools.product(range(100), range(100)): initial_memory = copy.copy(base_memory) initial_memory[1] = noun initial_memory[2] = verb processor = IntCodeProcessor(initial_memory, instructions_day_02) try: processor.execute() except RuntimeError: pass if processor.output == 19690720: break self.assertEqual(89, noun) self.assertEqual(76, verb) self.assertEqual(8976, 100 * noun + verb)
def test_2_mine(self): file_text = data_text(2017, "day_10_mine.txt") self.assertEqual("20b7b54c92bf73cf3e5631458a715149", KnotHash(256).hash_v2(file_text))
def test_1_mine(self): file_text = data_text(2017, "day_10_mine.txt") self.assertEqual(9656, KnotHash(256).hash_v1(file_text))
def read_frequencies_sequence(): seq_file = data_text(2018, "day_01_mine.txt") seq = parse_sequence(seq_file) return seq
def test_find_shortest_with_ignores_mine(self): polymer = data_text(2018, "day_05_mine.txt") best_reduced = find_shortest_with_ignores(polymer) self.assertEqual(6968, len(best_reduced))
def test_reduce_mine(self): polymer = data_text(2018, "day_05_mine.txt") reduced = polymer_reduce(polymer) self.assertEqual(10584, len(reduced))
def test_map_mine(self): route_str = data_text(2018, "day_20_mine.txt") route = RouteItem(route_str) print(route.max_length()) route.mapit()
def test_far_distances_mine(self): route_str = data_text(2018, "day_20_mine.txt") distances = path_distances(route_str) long_distances = [d for d in distances.values() if d >= 1000] self.assertEqual(8205, len(long_distances))
def test_furthest_distance_mine(self): route_str = data_text(2018, "day_20_mine.txt") distance = furthest_distance(route_str) self.assertEqual(4239, distance)
def test_mine(self): file_text = data_text(2017, "day_11_mine.txt") walker = GridWalker() walker.walk(file_text) self.assertEqual(687, walker.distance()) self.assertEqual(1483, walker.furthest)
def decompress_file(filename, recursive): text = data_text(2016, filename) return decompressed_size(text, recursive)
def test_parse_stream_mine(self): stream = data_text(2017, "day_09_mine.txt") self.assertEqual((11898, 5601), score_stream(stream))
def test_parse_mine(self): route_str = data_text(2018, "day_20_mine.txt") route = RouteItem(route_str) self.assertFalse(route.is_choice) self.assertEqual(2, len(route.items)) self.assertTrue(route.items[1].is_choice)