def test_instruction_dict(self): class A(object): pass a = A() a.value = 1 a._value = 2 line = Line.build('_ a') l = {'a': a} r = line({}, l) self.assertEqual(r, Evaluation(line, {'value': 1, '_value': 2}))
def test_evaluation(self): line = Line.build('a') self.assertEqual(line({}, {'a': 1}), Evaluation(line, 1))
def test_success(self): line = Line.build('a = 1') self.assertEqual(line({}, {}), Success(line, {'a': 1}, {}))
def test_instruction_context(self): line = Line.build('a = b + 1') l = {'b': 1} line({}, l) self.assertEqual(l, {'a': 2, 'b': 1})
def test_instruction(self): line = Line.build('a = 1') l = {} line({}, l) self.assertEqual(l, {'a': 1})
def test_instruction_for(self): line = Line.build('for x in range(3): a += x') l = {'a': 1} line({}, l) self.assertEqual(l, {'a': 4, 'x': 2})
def test_str(self): line = Line.build('a = 1') self.assertEqual(str(line), '>>> a = 1')