def cli_main() -> None:
    input_funcs = [splitstriplines, partial(lmap, int), incl_ends]
    data = load_and_process_input(INPUT, input_funcs)
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two)
    answer_one = process_one(data)
    assert answer_one == ANSWER1
    print("Answer one:", answer_one)
    answer_two = process_two(data)
    assert answer_two == ANSWER2
    print("Answer two:", answer_two)
Beispiel #2
0
def cli_main() -> None:
    input_funcs = [str.strip]
    data = load_and_process_input(INPUT, input_funcs)
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two)
    answer_one = process_one(data)
    assert answer_one == ANSWER1
    print("Answer one:", answer_one)
    answer_two = process_two(data)
    assert answer_two == ANSWER2
    print("Answer two:", answer_two)
Beispiel #3
0
def cli_main() -> None:
    input_funcs = [process_input]
    data = load_and_process_input(INPUT, input_funcs)
    tprocess2 = partial(process_two, fieldfunc=lambda x: True)
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, tprocess2)
    answer_one = process_one(data)
    assert answer_one == ANSWER1
    print("Answer one:", answer_one)
    answer_two = process_two(data)
    assert answer_two == ANSWER2
    print("Answer two:", answer_two)
Beispiel #4
0
def cli_main() -> None:
    input_funcs = [splitstriplines, lines_to_points]
    data = load_and_process_input(INPUT, input_funcs)
    initial_points = data.copy()
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two)
    answer_one = process_one(data)
    assert answer_one == ANSWER1
    print("Answer one:", answer_one)
    answer_two = process_two(initial_points)
    assert answer_two == ANSWER2
    print("Answer two:", answer_two)
def cli_main() -> None:
    input_funcs = [splitstriplines, partial(lmap, int)]
    data = load_and_process_input(INPUT, input_funcs)
    answer_one = process_one(data)
    assert answer_one == ANSWER1
    print("Answer one:", answer_one)
    process_two = partial(narrow_array, answer_one)
    # Can't run tests until after first half is solved because the second half
    # depends on the answer to the first half.
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two)
    answer_two = process_two(data)
    assert answer_two == ANSWER2
    print("Answer two:", answer_two)
Beispiel #6
0
def cli_main() -> None:
    input_funcs = [
        partial(splitstrip, sep="\n\n"),
        partial(lmap, splitstrip),
        partial(lmap, parse_passport),
    ]
    data = load_and_process_input(INPUT, input_funcs)
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two)
    answer_one = process_one(data)
    assert answer_one == ANSWER1
    print("Answer one:", answer_one)
    answer_two = process_two(data)
    assert answer_two == ANSWER2
    print("Answer two:", answer_two)
Beispiel #7
0
def cli_main() -> None:
    input_funcs = [
        splitstriplines,
        partial(lmap, list),
        lambda lst: list(zip(*lst)),  # make it so that (x, y) is lst[x][y].
        seats_and_floor,
    ]
    data = load_and_process_input(INPUT, input_funcs)
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two)
    pre_one = datetime.datetime.now()
    answer_one = process_one(data)
    assert answer_one == ANSWER1
    print("Answer one:", answer_one, datetime.datetime.now() - pre_one)
    pre_two = datetime.datetime.now()
    answer_two = process_two(data)
    assert answer_two == ANSWER2
    print("Answer two:", answer_two, datetime.datetime.now() - pre_two)
Beispiel #8
0
def cli_main() -> None:
    input_funcs = [splitstriplines]
    data = load_and_process_input(INPUT, input_funcs)
    run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two)
    answer_one = process_one(data)
    answer_two = process_two(data)
    try:
        if ANSWER1 is not None:
            assert answer_one == ANSWER1
        print("Answer one:", answer_one)
        if ANSWER1 is not None:
            answer_two = process_two(data)
        if ANSWER2 is not None:
            assert answer_two == ANSWER2
        print("Answer two:", answer_two)
    except AssertionError:
        pdb.set_trace()