Пример #1
0
 def test_simple(self):
     p = Program("4, 0")
     p.step()
     self.assertEqual(p._Program__pos, 2)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [4, 0])
     self.assertEqual(next(p), 4)
Пример #2
0
 def test_direct(self):
     p = Program("104, 0")
     p.step()
     self.assertEqual(p._Program__pos, 2)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [104, 0])
     self.assertEqual(next(p), 0)
Пример #3
0
 def test_simple(self):
     p = Program("3, 1")
     p.send_input(42)
     p.step()
     self.assertEqual(p._Program__pos, 2)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [3, 42])
Пример #4
0
 def test_inplace(self):
     p = Program("2, 0, 0, 0, 99")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [4, 0, 0, 0, 99])
Пример #5
0
 def test_simple(self):
     p = Program("2, 4, 5, 6, 1, 1, 0")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [2, 4, 5, 6, 1, 1, 1])
Пример #6
0
 def test_out_of_range(self):
     p = Program("98, 0, 0, 100, 99")
     with self.assertRaises(AssertionError):
         p.step()
Пример #7
0
 def test_immediate_result_error(self):
     p = Program("10001, 0, 0, 0, 99")
     with self.assertRaises(AssertionError):
         p.step()
Пример #8
0
 def test_out_of_range(self):
     p = Program("1, 0, 0, 100, 99")
     with self.assertRaises(IndexError):
         p.step()
Пример #9
0
 def test_simple(self):
     p = Program("99")
     p.step()
     self.assertEqual(p._Program__pos, 1)
     self.assertEqual(p._Program__running, False)
     self.assertEqual(p._Program__memory, [99])
Пример #10
0
 def test_false(self):
     p = Program("8, 0, 1, 3")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [8, 0, 1, 0])
Пример #11
0
 def test_direct_true(self):
     p = Program("1107, 0, 1, 3")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [1107, 0, 1, 1])
Пример #12
0
 def test_true(self):
     p = Program("7, 1, 0, 3")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [7, 1, 0, 1])
Пример #13
0
 def test_simple_true(self):
     p = Program("6, 1, 0")
     p.step()
     self.assertEqual(p._Program__pos, 3)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [6, 1, 0])
Пример #14
0
 def test_simple_false(self):
     p = Program("5, 2, 0")
     p.step()
     self.assertEqual(p._Program__pos, 3)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [5, 2, 0])
Пример #15
0
 def test_direct_true(self):
     p = Program("1105, 1, 0")
     p.step()
     self.assertEqual(p._Program__pos, 0)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [1105, 1, 0])
Пример #16
0
 def test_immediate_one(self):
     p = Program("1002, 0, 4, 0, 99")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [4008, 0, 4, 0, 99])
Пример #17
0
 def test_immediate_two(self):
     p = Program("1102, 5, 4, 0, 99")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [20, 5, 4, 0, 99])
Пример #18
0
 def test_direct_false(self):
     p = Program("1108, 1, 0, 3")
     p.step()
     self.assertEqual(p._Program__pos, 4)
     self.assertEqual(p._Program__running, True)
     self.assertEqual(p._Program__memory, [1108, 1, 0, 0])