def testDadoUmNaoTerminalQueNaoExisteNaGramaticaSeTentarObterProducoesRetornaConjuntoVazio(self): vn = set(['S', 'V']) vt = set(['a', 'b', 'c']) s = 'S' producoes_s = set([Producao('S', 'aV'), Producao('S', 'b')]) producoes_v = set([Producao('V', 'aS'), Producao('V', 'c')]) producoes = set() producoes.update(producoes_s) producoes.update(producoes_v) gramatica = GramaticaRegular(producoes, vn,vt,s) self.assertEqual(set(), gramatica.obterProducoesDoAlpha('T'))
def testDadoUmNaoTerminalSabeQuaisSaoAsProducoesDesseNaoTerminal(self): vn = set(['S', 'V']) vt = set(['a', 'b', 'c']) s = 'S' producoes_s = set([Producao('S', 'aV'), Producao('S', 'b')]) producoes_v = set([Producao('V', 'aS'), Producao('V', 'c')]) producoes = set() producoes.update(producoes_s) producoes.update(producoes_v) gramatica = GramaticaRegular(producoes, vn,vt,s) self.assertEqual(producoes_s, gramatica.obterProducoesDoAlpha('S')) self.assertEqual(producoes_v, gramatica.obterProducoesDoAlpha('V'))