def test_solve_two(ticket_details_two):
    requirements, personal_ticket, other_tickets = ticket_details_two
    factory = TicketFactory(requirements)
    result = solve_two(factory, other_tickets, personal_ticket)
    assert result.ROW == 11
    assert result.CLASS == 12
    assert result.SEAT == 13
def test_solve_two_3():
    input = """
    2,1,3
    """.strip().replace('    ', '')
    starting_numbers = parse_input(input)
    result = solve_two(starting_numbers, 30000000)
    assert result == 3544142
def test_solve_two_4():
    input = """
    1,2,3
    """.strip().replace('    ', '')
    starting_numbers = parse_input(input)
    result = solve_two(starting_numbers, 30000000)
    assert result == 261214
def test_solve_two_6():
    input = """
    2,3,1
    """.strip().replace('    ', '')
    starting_numbers = parse_input(input)
    result = solve_two(starting_numbers, 30000000)
    assert result == 6895259
def test_solve_two_1():
    input = """
    0,3,6
    """.strip().replace('    ', '')
    starting_numbers = parse_input(input)
    result = solve_two(starting_numbers, 30000000)
    assert result == 175594
def test_solve_two(geology):
    slopes = [
        (1, -1),
        (3, -1),
        (5, -1),
        (7, -1),
        (1, -2),
    ]
    product = solve_two(geology, slopes)
    assert product == 336
def test_solve_two(declaration_forms):
    assert solve_two(declaration_forms) == 6
示例#8
0
def test_solve_two(seat_layout):
    assert solve_two(seat_layout) == 26
def test_solve_two_alt_one():
    schedules = parse_input("""
    0
    17,x,13,19
    """.strip().replace('    ', ''))[1]
    assert solve_two(schedules) == 3417
示例#10
0
def test_solve_two_first(rules_one):
    assert solve_two(rules_one, 'shiny gold') == 32
示例#11
0
def test_solve_two(boot_code):
    assert solve_two(boot_code) == 8
示例#12
0
def test_solve_two_alt_four():
    schedules = parse_input("""
    0
    67,7,x,59,61
    """.strip().replace('    ', ''))[1]
    assert solve_two(schedules) == 1261476
示例#13
0
def test_solve_two(expense_report):
    product = solve_two(expense_report, 2020)
    assert product == 241861950
示例#14
0
def test_solve_two_invalid(invalid_passports):
    valid_passports = solve_two(invalid_passports)
    assert valid_passports == 0
示例#15
0
def test_solve_two_valid(valid_passports):
    valid_passports = solve_two(valid_passports)
    assert valid_passports == 4
示例#16
0
def test_solve_two(instructions_two):
    result = solve_two(instructions_two)
    assert result == 208
示例#17
0
def test_solve_two_alt_five():
    schedules = parse_input("""
    0
    1789,37,47,1889
    """.strip().replace('    ', ''))[1]
    assert solve_two(schedules) == 1202161486
示例#18
0
def test_solve_two_larger(larger_adapters):
    assert solve_two(larger_adapters) == 19208
示例#19
0
def test_solve_two_alt_three():
    schedules = parse_input("""
    0
    67,x,7,59,61
    """.strip().replace('    ', ''))[1]
    assert solve_two(schedules) == 779210
示例#20
0
def test_solve_two(adapters):
    assert solve_two(adapters) == 8
示例#21
0
def test_solve_two(initial_state):
    cycles = 6
    result = solve_two(initial_state, cycles)
    assert result == 848
示例#22
0
def test_solve_two(password_policies):
    valid_passwords = solve_two(password_policies)
    assert valid_passwords == 1
示例#23
0
def test_solve_two(transmission):
    number = 127
    assert solve_two(transmission, number) == 62
示例#24
0
def test_solve_two_2(boot_code_alt):
    assert solve_two(boot_code_alt) == 8
示例#25
0
def test_solve_two(instructions):
    assert solve_two(instructions) == 286
示例#26
0
def test_solve_two_second(rules_two):
    assert solve_two(rules_two, 'shiny gold') == 126
示例#27
0
def test_solve_two(travel_plan):
    departure_time, schedules = travel_plan
    assert solve_two(schedules) == 1068781