def testPodeFornecerAsTransicoesQueExistemParaUmDeterminadoSimbolo(self): estado1 = Estado('q1', set([Transicao('a', 'q0'), Transicao('a', 'q1'),Transicao('b', 'q0')]), True, False) self.assertEqual(2, len(estado1.obterTransicoesPorSimbolo('a'))) self.assertTrue(Transicao('a', 'q0') in estado1.obterTransicoesPorSimbolo('a')) self.assertTrue(Transicao('a', 'q1') in estado1.obterTransicoesPorSimbolo('a')) self.assertEqual(1, len(estado1.obterTransicoesPorSimbolo('b'))) self.assertTrue(Transicao('b', 'q0') in estado1.obterTransicoesPorSimbolo('b'))
def testSabeQualNaoEhOSeuNome(self): nome_estado = 'q5' nome_errado = 'vida_louca' estado = Estado(nome_estado, self.transicoes_a, True, False) self.assertNotEqual(nome_errado, estado.obterNome())
def testSabeQualOSeuNome(self): nome_estado = 'q5' estado = Estado(nome_estado, self.transicoes_a, True, False) self.assertEqual(nome_estado, estado.obterNome())
def testRetornaUmaCopiaDoSeuConjuntoDeTransicoes(self): estado = Estado('q5', self.transicoes_a, True, False) transicoes = estado.obterTransicoes() self.assertEqual(transicoes, estado.obterTransicoes()) transicoes.pop() self.assertNotEqual(transicoes, estado.obterTransicoes())
def testGuardaUmaCopiaPropriaDoConjuntoDeTransicoes(self): estado = Estado('q5', self.transicoes_a, True, False) self.assertEqual(self.transicoes_a, estado.obterTransicoes()) self.transicoes_a.pop() self.assertNotEqual(self.transicoes_a, estado.obterTransicoes())
def testSabeQuaisNaoSaoAsSuasTransicoes(self): estado = Estado('q5', self.transicoes_a, True, False) self.assertNotEqual(self.transicoes_b, estado.obterTransicoes())
def testSabeSeEhInicial(self): estado = Estado('q5', self.transicoes_a, True, False) self.assertTrue(estado.ehInicial())
def testSabeSeNaoEhInicial(self): estado = Estado('q5', self.transicoes_a, False, True) self.assertFalse(estado.ehInicial())
def testSabeSeNaoEhFinal(self): estado = Estado('q5', self.transicoes_a, True, False) self.assertFalse(estado.ehFinal())
def testSabeSeEhFinal(self): estado = Estado('q5', self.transicoes_a, False, True) self.assertTrue(estado.ehFinal())
def testSeNaoPossuiUmaTransicaoParaUmDeterminadoSimboloRetornaVazio(self): estado1 = Estado('q1', set([Transicao('a', 'q0'), Transicao('a', 'q1'),Transicao('b', 'q0')]), True, False) self.assertEqual(set(), estado1.obterTransicoesPorSimbolo('c'))
def testPodeNaoPossuirTransicoes(self): estado = Estado('q1', set(), False, False) self.assertEqual(set(), estado.obterTransicoes())