def test_simple(self): memory = [2, 4, 5, 6, 1, 1, 0] pos = 0 memory, pos, cont = execute_mult(memory, pos) self.assertEqual(pos, 4) self.assertEqual(cont, True) self.assertEqual(memory, [2, 4, 5, 6, 1, 1, 1])
def test_inplace(self): memory = [2, 0, 0, 0, 99] pos = 0 memory, pos, cont = execute_mult(memory, pos) self.assertEqual(pos, 4) self.assertEqual(cont, True) self.assertEqual(memory, [4, 0, 0, 0, 99])
def test_immediate_two(self): memory = [1102, 5, 4, 0, 99] pos = 0 memory, pos, cont = execute_mult(memory, pos) self.assertEqual(pos, 4) self.assertEqual(cont, True) self.assertEqual(memory, [20, 5, 4, 0, 99])
def test_immediate_one(self): memory = [1002, 0, 4, 0, 99] pos = 0 memory, pos, cont = execute_mult(memory, pos) self.assertEqual(pos, 4) self.assertEqual(cont, True) self.assertEqual(memory, [4008, 0, 4, 0, 99])
def test_immediate_result_error(self): memory = [10002, 0, 0, 0, 99] pos = 0 with self.assertRaises(AssertionError): execute_mult(memory, pos)
def test_wrong_operator(self): memory = [1, 0, 0, 0, 99] pos = 0 with self.assertRaises(AssertionError): execute_mult(memory, pos)
def test_out_of_range(self): memory = [2, 0, 0, 100, 99] pos = 0 with self.assertRaises(IndexError): execute_mult(memory, pos)