def test_create_var_ref(self): parser = Parser(None) str1 = String(1) parser.define_var('a', str1) var1 = parser.create_var_ref('a') self.assertIsInstance(var1, VarRef) self.assertEqual(var1.name, 'a') self.assertIs(var1.value, str1) var2 = parser.create_var_ref('b') self.assertIsInstance(var2, VarRef) self.assertEqual(var2.name, 'b') self.assertIs(var2.value, None)
def test_define_var(self): parser = Parser(None) str1 = String(1) parser.define_var('a', str1) self.assertEqual(len(parser.var_defs), 1) self.assertEqual(len(parser.vars), 1) self.assertIn('a', parser.vars) self.assertIs(parser.vars['a'], str1) str2 = String(2) parser.define_var('a', str2) self.assertEqual(len(parser.var_defs), 2) self.assertEqual(len(parser.vars), 1) self.assertIn('a', parser.vars) self.assertIs(parser.vars['a'], str2)