Ejemplo n.º 1
0
    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())
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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])
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
 def test_2_mine(self):
     file_text = data_text(2017, "day_10_mine.txt")
     self.assertEqual("20b7b54c92bf73cf3e5631458a715149",
                      KnotHash(256).hash_v2(file_text))
Ejemplo n.º 7
0
 def test_1_mine(self):
     file_text = data_text(2017, "day_10_mine.txt")
     self.assertEqual(9656, KnotHash(256).hash_v1(file_text))
Ejemplo n.º 8
0
def read_frequencies_sequence():
    seq_file = data_text(2018, "day_01_mine.txt")
    seq = parse_sequence(seq_file)
    return seq
Ejemplo n.º 9
0
 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))
Ejemplo n.º 10
0
 def test_reduce_mine(self):
     polymer = data_text(2018, "day_05_mine.txt")
     reduced = polymer_reduce(polymer)
     self.assertEqual(10584, len(reduced))
Ejemplo n.º 11
0
 def test_map_mine(self):
     route_str = data_text(2018, "day_20_mine.txt")
     route = RouteItem(route_str)
     print(route.max_length())
     route.mapit()
Ejemplo n.º 12
0
 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))
Ejemplo n.º 13
0
 def test_furthest_distance_mine(self):
     route_str = data_text(2018, "day_20_mine.txt")
     distance = furthest_distance(route_str)
     self.assertEqual(4239, distance)
Ejemplo n.º 14
0
 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)
Ejemplo n.º 15
0
def decompress_file(filename, recursive):
    text = data_text(2016, filename)
    return decompressed_size(text, recursive)
Ejemplo n.º 16
0
 def test_parse_stream_mine(self):
     stream = data_text(2017, "day_09_mine.txt")
     self.assertEqual((11898, 5601), score_stream(stream))
Ejemplo n.º 17
0
 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)