Esempio n. 1
0
 def test_parse_input_on_example_data(self):
     input = read_inputfile("example16a.txt")
     (rules, your_ticket, nearby_tickets) = parse_input(input)
     self.assertEqual([k for k in rules.rules.keys()],
                      ["class", "row", "seat"])
     self.assertEqual(your_ticket, [7, 1, 14])
     self.assertEqual(len(nearby_tickets), 4)
Esempio n. 2
0
 def test_compute_your_ticket_on_example_data_a(self):
     input = read_inputfile("example16a.txt")
     (rules, your_ticket_values, nearby_tickets) = parse_input(input)
     nearby_tickets = rules.get_valid_tickets(nearby_tickets)
     # print("Valid nearby tickets: %s" % nearby_tickets)
     your_ticket = compute_our_ticket(rules, your_ticket_values,
                                      nearby_tickets)
     self.assertEqual(your_ticket["class"], 1)
     self.assertEqual(your_ticket["row"], 7)
     self.assertEqual(your_ticket["seat"], 14)
Esempio n. 3
0
def test_match_fields():
    rules, _, nearby = parse_input(TEST_INPUT_2)
    tickets = valid_tickets(rules, nearby)
    expected = {'class': [1, 2], 'row': [0, 1, 2], 'seat': [2]}
    assert match_fields(rules, tickets) == expected
Esempio n. 4
0
def test_parse_input():
    expected = (EXAMPLE_RULES, EXAMPLE_TICKET, EXAMPLE_NEARBY)
    assert parse_input(TEST_INPUT_1) == expected
Esempio n. 5
0
def test_part2(puzzle_input, answer):
    rules, ticket, nearby = parse_input(puzzle_input)
    assert part2(rules, ticket, nearby) == answer
Esempio n. 6
0
def test_part1(puzzle_input, answer):
    rules, _, nearby = parse_input(puzzle_input)
    assert part1(rules, nearby) == answer