Ejemplo n.º 1
0
def write_operation_in_immediate_mode_outputs_value():
    input = [100 + OP_Write, 5, 99]
    output = [100 + OP_Write, 5, 99]
    read = []
    write = evaluate(input, read)
    assert_list_equals(input, output)
    assert write[0] == 5
Ejemplo n.º 2
0
def write_operation_outputs_value():
    input = [OP_Write, 2, 99]
    output = [OP_Write, 2, 99]
    read = []
    write = evaluate(input, read)
    assert_list_equals(input, output)
    assert write[0] == 99
Ejemplo n.º 3
0
def read_operation_sets_value():
    input = [OP_Read, 3, 99, 0]
    output = [OP_Read, 3, 99, 12]
    read = []
    read.append(12)
    evaluate(input, read)
    assert_list_equals(input, output)
Ejemplo n.º 4
0
def add_operation_in_partial_immediate_mode_correctly_sums():
    input = [1000 + OP_Add, 4, -2, 5, 99, 0]
    output = [1000 + OP_Add, 4, -2, 5, 99, 97]
    evaluate(input, [])
    assert_list_equals(input, output)
Ejemplo n.º 5
0
def day_2_programs_still_valid(input, output):
    evaluate(input, [])
    assert_list_equals(input, output)
Ejemplo n.º 6
0
def test_build_adjacency_list(input, output):
    adj_list = build_adjacency_list(input)
    for key in output.keys():
        assert_list_equals(adj_list[key], output[key])