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'))