def testDadoUmAlphaSabeQuaisSaoAsProducoesDesseNaoTerminalIndependenteDeQuantosEspacos(self): vn = set(['S', 'V']) vt = set(['a', 'b', 'c']) s = 'S' producoes_s = set([Producao('S', 'a V'), Producao('S', 'b')]) producoes_bv = set([Producao('b V', 'a S'), Producao('b V', 'c')]) producoes = set() producoes.update(producoes_s) producoes.update(producoes_bv) gramatica = Gramatica(producoes, vn,vt,s) self.assertEqual(producoes_s, gramatica.obterProducoesDoAlpha('S')) self.assertEqual(producoes_bv, gramatica.obterProducoesDoAlpha('b V'))
def testDadoUmAlphaQueNaoExisteNaGramaticaSeTentarObterProducoesRetornaConjuntoVazio(self): vn = set(['S', 'V']) vt = set(['a', 'b', 'c']) s = 'S' producoes_s = set([Producao('S', 'a V'), Producao('S', 'b')]) producoes_v = set([Producao('V', 'a S'), Producao('V', 'c')]) producoes = set() producoes.update(producoes_s) producoes.update(producoes_v) gramatica = Gramatica(producoes, vn,vt,s) self.assertEqual(set(), gramatica.obterProducoesDoAlpha('T'))