def testDadoUmaProducaoQueNaoEhDaGramaticaRetornaNoneAoTentarObterNaoTerminaisDoBeta(self): vn = set(['S', 'V']) vt = set(['a', 'b', 'c']) s = 'S' producoes = set() producoes.add(Producao('S', 'a S V b')) producoes.add(Producao('S', EPSILON)) glc1 = Gramatica(producoes, vn,vt,s) self.assertEqual(None, glc1.obterNaoTerminaisDoBeta(Producao('S', 'S V b')))
def testDadoUmaProducaoDaGramaticaSabeInformarQuaisSaoOsNaoTerminaisExistentesNoBeta(self): vn = set(['S', 'V']) vt = set(['a', 'b', 'c']) s = 'S' producoes = set() producoes.add(Producao('S', 'a S V b')) producoes.add(Producao('S', EPSILON)) glc1 = Gramatica(producoes, vn,vt,s) self.assertEqual(set(['S','V']), glc1.obterNaoTerminaisDoBeta(Producao('S', 'a S V b')))
def testDadoUmaProducaoDaGramaticaSeNaoPossuiNaoTerminaisNoBetaRetornaVazioAoTentarObtelos(self): vn = set(['S', 'V']) vt = set(['a', 'b', 'c']) s = 'S' producoes = set() producoes.add(Producao('S', 'a S V b')) producoes.add(Producao('S', EPSILON)) glc1 = Gramatica(producoes, vn,vt,s) self.assertEqual(set(), glc1.obterNaoTerminaisDoBeta(Producao('S', EPSILON)))