コード例 #1
0
ファイル: varcheck_tests.py プロジェクト: TAKAKEYA/CPU
 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)
コード例 #2
0
ファイル: varcheck_tests.py プロジェクト: TAKAKEYA/CPU
 def testConflict(self):
     st = SymbolTable()
     errors = Errors()
     st.add('x', self.x, errors)
     st.add('x', self.x2, errors)
     self.assertEquals(errors.num_errors, 1)
     self.assertEquals(st.get_names(), set(['x']))
     self.assertEquals(st.lookup('x'), self.x)
コード例 #3
0
ファイル: varcheck_tests.py プロジェクト: TAKAKEYA/CPU
 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)
コード例 #4
0
ファイル: varcheck_tests.py プロジェクト: TAKAKEYA/CPU
 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)
コード例 #5
0
ファイル: varcheck_tests.py プロジェクト: TAKAKEYA/CPU
 def testEmpty(self):
     st = SymbolTable()
     self.assertEquals(st.get_names(), set())
     self.assertEquals(st.get_all_names(), set())
     self.assertIsNone(st.parent)