def test_shouldNotSetStartSymbol(self): g = Grammar(nonterminals=[A, B]) self.assertFalse(g.start_isSet()) with self.assertRaises(NotNonterminalException): g.start_set('asdf') self.assertFalse(g.start_isSet()) self.assertFalse(g.start_is('asdf'))
def test_shouldNotSetStartSymbol(self): g = Grammar(nonterminals=[A]) self.assertFalse(g.start_isSet()) with self.assertRaises(NonterminalDoesNotExistsException): g.start_set(B) self.assertFalse(g.start_isSet()) self.assertFalse(g.start_is(B))
def test_oldStartSymbolShouldStaySame(self): g = Grammar(nonterminals=[A, B], start_symbol=A) self.assertTrue(g.start_isSet()) with self.assertRaises(NotNonterminalException): g.start_set('asdf') self.assertTrue(g.start_isSet()) self.assertTrue(g.start_is(A)) self.assertEqual(g.start_get(), A)