Example #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)
Example #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)
Example #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)
Example #4
0
 def testEmpty(self):
     st = SymbolTable()
     self.assertEquals(st.get_names(), set())
     self.assertEquals(st.get_all_names(), set())
     self.assertIsNone(st.parent)