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)
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')
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)
def test_shouldNotSetStartSymbol(self): g = Grammar(nonterminals=[A]) self.assertIsNone(g.start) with self.assertRaises(NonterminalDoesNotExistsException): g.start = B self.assertIsNone(g.start)