Select Git revision
findExchReact.R
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
test_while_interpreter.py 967 B
from whileinterpreter import interpret
from test_loop_interpreter import LOOPInterpreterTest
import unittest
class WHILEInterpreterTest(LOOPInterpreterTest):
def test_while_forbidden_identifier(self):
with self.assertRaises(SyntaxError):
interpret("LOOP x1 DO WHILE x1 != 0 DO x0:=x0+1 END END ")
def test_while(self):
self.assertEqual(interpret('x1:=1; WHILE x1 != 0 DO x0:=2; x1:=x1-1 END'), 2)
self.assertEqual(interpret('WHILE x1 /= 0 DO x0:=1 END'), 0)
self.assertEqual(interpret('WHILE x1 /= 0 DO WHILE x1 /= 0 DO x0:=2 END END'), 0)
def test_while_non_zero(self):
with self.assertRaises(SyntaxError):
interpret("x1:= 1; WHILE x1 /= 1 DO x0:=2 END")
with self.assertRaises(SyntaxError):
interpret("x1:= 2; WHILE x1 /= 1 DO x0:=2 END")
with self.assertRaises(SyntaxError):
interpret("x1:= 1; WHILE x1 /= 0 DO WHILE x1 /= 1 DO x0:=2 END END")