示例#1
0
 def test_part_two(self):
     data = main.parse(io.StringIO('1\n17,x,13,19'))
     self.assertEqual(main.part_two(data), 3417)
     data = main.parse(io.StringIO('1\n67,7,59,61'))
     self.assertEqual(main.part_two(data), 754018)
     data = main.parse(io.StringIO('1\n67,x,7,59,61'))
     self.assertEqual(main.part_two(data), 779210)
     data = main.parse(io.StringIO('1\n67,7,x,59,61'))
     self.assertEqual(main.part_two(data), 1261476)
     data = main.parse(io.StringIO('1\n1789,37,47,1889'))
     self.assertEqual(main.part_two(data), 1202161486)
 def test_part_two(self):
     TestData = namedtuple("TestData", "wire_one,wire_two,expected")
     inputs = [
         TestData(
             ["R75", "D30", "R83", "U83", "L12", "D49", "R71", "U7", "L72"],
             ["U62", "R66", "U55", "R34", "D71", "R55", "D58", "R83"],
             610,
         ),
         TestData(
             [
                 "R98",
                 "U47",
                 "R26",
                 "D63",
                 "R33",
                 "U87",
                 "L62",
                 "D20",
                 "R33",
                 "U53",
                 "R51",
             ],
             [
                 "U98", "R91", "D20", "R16", "D67", "R40", "U7", "R15",
                 "U6", "R7"
             ],
             410,
         ),
         TestData(["R8", "U5", "L5", "D3"], ["U7", "R6", "D4", "L4"], 30),
     ]
     for data in inputs:
         with self.subTest(data=data):
             points1 = generate_points(Point(0, 0), data.wire_one)
             points2 = generate_points(Point(0, 0), data.wire_two)
             intersections = get_intersections(points1, points2)
             assert data.expected == part_two(intersections, points1,
                                              points2)
示例#3
0
 def test_part_two(self):
     data = main.parse(io.StringIO(self.data2))
     self.assertEqual(main.part_two(data), 4)
示例#4
0
 def test_part_two_for_real(self):
     input_path = os.path.join(os.path.dirname(__file__), 'input.data')
     with open(input_path) as input_file:
         data = main.parse(input_file)
     self.assertEqual(main.part_two(data), 2766491048287)
示例#5
0
 def test_part_two(self):
     data = main.parse(io.StringIO(self.data2))
     self.assertEqual(main.part_two(data, ['class', 'seat']), 12 * 13)
示例#6
0
 def test_part_two_for_real(self):
     input_path = os.path.join(os.path.dirname(__file__), 'input.data')
     with open(input_path) as input_file:
         data = main.parse(input_file)
     self.assertEqual(main.part_two(data, 29221323), 4389369)
示例#7
0
 def test_part_two_for_real(self):
     input_path = os.path.join(os.path.dirname(__file__), 'input.data')
     with open(input_path) as input_file:
         data = main.parse(input_file)
     self.assertEqual(main.part_two(data[1], 'shiny gold'), 5312)
示例#8
0
 def test_part_two(self):
     data = main.parse(io.StringIO(self.data2))
     self.assertEqual(main.part_two(data[1], 'shiny gold'), 126)
示例#9
0
 def test_part_two(self):
     input_path = os.path.join(os.path.dirname(__file__), 'input.data')
     with open(input_path) as input_file:
         data = main.parse(input_file)
     assert main.part_two(data) == 524
示例#10
0
 def test_part_two(self):
     data = main.parse(io.StringIO(self.data))
     assert main.part_two(data, self.slopes) == 336