예제 #1
0
 def test_oldStartSymbolShouldStaySame(self):
     g = Grammar(nonterminals=[A], start_symbol=A)
     self.assertIsNotNone(g.start)
     with self.assertRaises(NonterminalDoesNotExistsException):
         g.start = B
     self.assertIsNotNone(g.start)
     self.assertIs(g.start, A)
예제 #2
0
 def test_shouldNotSetStartSymbol(self):
     g = Grammar(nonterminals=[A, B])
     self.assertIsNone(g.start)
     with self.assertRaises(NotNonterminalException):
         g.start = 'asdf'
     self.assertIsNone(g.start)
     self.assertFalse(g.start == 'asdf')
예제 #3
0
 def test_oldStartSymbolShouldStaySame(self):
     g = Grammar(nonterminals=[A, B], start_symbol=A)
     self.assertIsNotNone(g.start)
     self.assertIs(g.start, A)
     with self.assertRaises(NotNonterminalException):
         g.start = 'asdf'
     self.assertIsNotNone(g.start)
     self.assertIs(g.start, A)
예제 #4
0
 def test_shouldNotSetStartSymbol(self):
     g = Grammar(nonterminals=[A])
     self.assertIsNone(g.start)
     with self.assertRaises(NonterminalDoesNotExistsException):
         g.start = B
     self.assertIsNone(g.start)