コード例 #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())
コード例 #2
0
ファイル: day_02.py プロジェクト: gchazot/aoc
    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)
コード例 #3
0
ファイル: day_05.py プロジェクト: gchazot/aoc
    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)
コード例 #4
0
ファイル: day_05.py プロジェクト: gchazot/aoc
    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])
コード例 #5
0
ファイル: day_02.py プロジェクト: gchazot/aoc
    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)
コード例 #6
0
ファイル: day_10.py プロジェクト: gchazot/aoc
 def test_2_mine(self):
     file_text = data_text(2017, "day_10_mine.txt")
     self.assertEqual("20b7b54c92bf73cf3e5631458a715149",
                      KnotHash(256).hash_v2(file_text))
コード例 #7
0
ファイル: day_10.py プロジェクト: gchazot/aoc
 def test_1_mine(self):
     file_text = data_text(2017, "day_10_mine.txt")
     self.assertEqual(9656, KnotHash(256).hash_v1(file_text))
コード例 #8
0
ファイル: day_01.py プロジェクト: gchazot/aoc
def read_frequencies_sequence():
    seq_file = data_text(2018, "day_01_mine.txt")
    seq = parse_sequence(seq_file)
    return seq
コード例 #9
0
ファイル: day_05.py プロジェクト: gchazot/aoc
 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))
コード例 #10
0
ファイル: day_05.py プロジェクト: gchazot/aoc
 def test_reduce_mine(self):
     polymer = data_text(2018, "day_05_mine.txt")
     reduced = polymer_reduce(polymer)
     self.assertEqual(10584, len(reduced))
コード例 #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()
コード例 #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))
コード例 #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)
コード例 #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)
コード例 #15
0
def decompress_file(filename, recursive):
    text = data_text(2016, filename)
    return decompressed_size(text, recursive)
コード例 #16
0
ファイル: day_09.py プロジェクト: gchazot/aoc
 def test_parse_stream_mine(self):
     stream = data_text(2017, "day_09_mine.txt")
     self.assertEqual((11898, 5601), score_stream(stream))
コード例 #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)