Esempio n. 1
0
 def test_nested_sub_packets(self):
     packets = list(parse("8A004A801A8002F478"))
     self.assertListEqual(
         packets,
         [
             OperatorPacket(
                 4,
                 2,
                 1,
                 [
                     OperatorPacket(
                         1,
                         2,
                         1,
                         [
                             OperatorPacket(
                                 5,
                                 2,
                                 0,
                                 [
                                     LiteralPacket(6, 4, 15),
                                 ],
                             )
                         ],
                     )
                 ],
             )
         ],
     )
Esempio n. 2
0
File: test_16.py Progetto: taifu/aoc
 def test_parse2(self):
     data = self.data2
     rules, your_ticket, nearby_tickets = day.parse(data)
     self.assertEqual(rules, {
         'class': [0, 1, 4, 19],
         'row': [0, 5, 8, 19],
         'seat': [0, 13, 16, 19]
     })
     self.assertEqual(your_ticket, [11, 12, 13])
     self.assertEqual(nearby_tickets, [[3, 9, 18], [15, 1, 5], [5, 14, 9]])
Esempio n. 3
0
File: test_16.py Progetto: taifu/aoc
 def test_parse1(self):
     data = self.data1
     rules, your_ticket, nearby_tickets = day.parse(data)
     self.assertEqual(
         rules, {
             'class': [1, 3, 5, 7],
             'row': [6, 11, 33, 44],
             'seat': [13, 40, 45, 50]
         })
     self.assertEqual(your_ticket, [7, 1, 14])
     self.assertEqual(nearby_tickets,
                      [[7, 3, 47], [40, 4, 50], [55, 2, 20], [38, 6, 12]])
Esempio n. 4
0
 def test_value(self):
     data = {
         "D8005AC2A8F0": 1,
         "C200B40A82": 3,
         "04005AC33890": 54,
         "880086C3E88112": 7,
         "CE00C43D881120": 9,
         "F600BC2D8F": 0,
         "9C005AC2F8F0": 0,
         "9C0141080250320F1802104A08": 1,
     }
     for data_in, value in data.items():
         with self.subTest(data_in):
             packet = list(parse(data_in))[0]
             self.assertEqual(packet.value, value)
Esempio n. 5
0
 def test_sub_packet_2(self):
     packets = list(parse("38006F45291200"))
     self.assertListEqual(
         packets,
         [
             OperatorPacket(
                 1,
                 6,
                 0,
                 [
                     LiteralPacket(6, 4, 10),
                     LiteralPacket(2, 4, 20),
                 ],
             )
         ],
     )
     self.assertEqual(len(packets[0]), 49)
Esempio n. 6
0
 def test_sub_packet_3(self):
     packets = list(parse("EE00D40C823060"))
     self.assertListEqual(
         packets,
         [
             OperatorPacket(
                 7,
                 3,
                 1,
                 [
                     LiteralPacket(2, 4, 1),
                     LiteralPacket(4, 4, 2),
                     LiteralPacket(1, 4, 3),
                 ],
             )
         ],
     )
     self.assertEqual(len(packets[0]), 51)
Esempio n. 7
0
def test_parse():
    assert parse("Sue 1: cars: 9, akitas: 3, goldfish: 0") == {
        "cars": 9,
        "akitas": 3,
        "goldfish": 0
    }
Esempio n. 8
0
 def test_literal(self):
     packets = list(parse("D2FE28"))
     self.assertListEqual(list(parse("D2FE28")), [LiteralPacket(6, 4, 2021)])
     self.assertEqual(len(packets[0]), 21)