def test_should_fix_an_infinity_loop(self): # given instructions = [ "jmp +0", "acc +1", "jmp +4", "acc +3", "jmp -3", "acc -99", "acc +1", "jmp -4", "acc +6", ] # when run_console(instructions)
def test_should_return_1941_for_first_exercise(self): # given file_reader = FileReader('./input') instructions = file_reader.to_str_list() # when accumulator = run_console(instructions)['accumulator'] # then assert accumulator == 1941
def test_accumulator_adds_up_1(self): # given instructions = [ "acc +1" ] # when trace = run_console(instructions) # then assert trace["accumulator"] == 1
def test_nope_does_not_add_anything(self): # given code = [ "nop +0", ] # when trace = run_console(code) # then assert trace["accumulator"] == 0
def test_multiple_accumulator_adds_up(self): # given instructions = [ "acc +2", "acc +5" ] # when trace = run_console(instructions) # then assert trace["accumulator"] == 7
def test_jmp_1_goes_to_next_instruction(self): # given instructions = [ "jmp +2", "acc +1", "acc +2", ] # when trace = run_console(instructions) # then assert trace["accumulator"] == 2
def test_should_stop_on_infinity_loop(self): # given instructions = [ "nop +0", "jmp +2", "acc +1", "jmp -2", ] # when trace = run_console(instructions) # then assert trace["has_failed"] is True