Esempio n. 1
0
 def testOneItemInParent(self):
     parent = SymbolTable()
     st = SymbolTable(parent)
     parent.add('x', self.x, None)
     self.assertEquals(st.get_names(), set())
     self.assertEquals(st.get_all_names(), set(['x']))
     self.assertEquals(st.lookup('x'), self.x)
Esempio n. 2
0
 def testShadow(self):
     parent = SymbolTable()
     parent.add('x', self.x, None)
     st = SymbolTable(parent)
     errors = Errors()
     st.add('x', self.x2, errors)
     self.assertEquals(errors.num_warnings, 1)
     self.assertEquals(st.get_names(), set(['x']))
     self.assertEquals(st.get_all_names(), set(['x']))
     self.assertEquals(st.lookup('x'), self.x2)
Esempio n. 3
0
 def testEmptyWithParent(self):
     parent = SymbolTable()
     st = SymbolTable(parent)
     self.assertEquals(st.get_names(), set())
     self.assertEquals(st.get_all_names(), set())
     self.assertEquals(st.parent, parent)
Esempio n. 4
0
 def testEmpty(self):
     st = SymbolTable()
     self.assertEquals(st.get_names(), set())
     self.assertEquals(st.get_all_names(), set())
     self.assertIsNone(st.parent)