def test_computacao(): assert tc.computacao( M1, 'q1', [1, 1, 0, 1 ]) == "(q1, 1101) |- (q2, 101) |- (q2, 01) |- (q3, 1) |- (q2, )" assert tc.computacao( M1, 'q1', [1, 1, 0, 1, 1] ) == "(q1, 11011) |- (q2, 1011) |- (q2, 011) |- (q3, 11) |- (q2, 1) |- (q2, )" assert tc.computacao( M1, 'q1', [1, 1, 0]) == "(q1, 110) |- (q2, 10) |- (q2, 0) |- (q3, )"
def test_funcao_computacao_AFD(): casos_de_teste = [{ 'palavra': [0, 0, 1, 1, 0, 0, 1, 1, 0, 1], 'resultado': '(q1, 0011001101) |- (q1, 011001101) |- (q1, 11001101) |- (q2, 1001101) |- (q2, 001101) |- (q3, 01101) |- (q2, 1101) |- (q2, 101) |- (q2, 01) |- (q3, 1) |- (q2, )' }, { 'palavra': [1, 0, 1, 0, 1, 0, 1, 0, 1, 0], 'resultado': '(q1, 1010101010) |- (q2, 010101010) |- (q3, 10101010) |- (q2, 0101010) |- (q3, 101010) |- (q2, 01010) |- (q3, 1010) |- (q2, 010) |- (q3, 10) |- (q2, 0) |- (q3, )' }, { 'palavra': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 'resultado': '(q1, 1111111111) |- (q2, 111111111) |- (q2, 11111111) |- (q2, 1111111) |- (q2, 111111) |- (q2, 11111) |- (q2, 1111) |- (q2, 111) |- (q2, 11) |- (q2, 1) |- (q2, )' }, { 'palavra': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'resultado': '(q1, 0000000000) |- (q1, 000000000) |- (q1, 00000000) |- (q1, 0000000) |- (q1, 000000) |- (q1, 00000) |- (q1, 0000) |- (q1, 000) |- (q1, 00) |- (q1, 0) |- (q1, )' }, { 'palavra': [1, 1, 1, 1, 1, 1, 0, 0, 0, 0], 'resultado': '(q1, 1111110000) |- (q2, 111110000) |- (q2, 11110000) |- (q2, 1110000) |- (q2, 110000) |- (q2, 10000) |- (q2, 0000) |- (q3, 000) |- (q2, 00) |- (q3, 0) |- (q2, )' }, { 'palavra': [0, 0, 0, 1, 1, 0, 1, 0, 0, 1], 'resultado': '(q1, 0001101001) |- (q1, 001101001) |- (q1, 01101001) |- (q1, 1101001) |- (q2, 101001) |- (q2, 01001) |- (q3, 1001) |- (q2, 001) |- (q3, 01) |- (q2, 1) |- (q2, )' }, { 'palavra': [0, 0, 1, 1, 0, 0, 1, 1, 0, 1], 'resultado': '(q1, 0011001101) |- (q1, 011001101) |- (q1, 11001101) |- (q2, 1001101) |- (q2, 001101) |- (q3, 01101) |- (q2, 1101) |- (q2, 101) |- (q2, 01) |- (q3, 1) |- (q2, )' }, { 'palavra': [], 'resultado': '(q1, )' }, { 'palavra': [1, 0, 1, 1, 1, 1, 1, 1, 1, 1], 'resultado': '(q1, 1011111111) |- (q2, 011111111) |- (q3, 11111111) |- (q2, 1111111) |- (q2, 111111) |- (q2, 11111) |- (q2, 1111) |- (q2, 111) |- (q2, 11) |- (q2, 1) |- (q2, )' }, { 'palavra': [1, 0, 1, 0, 1, 1, 1, 0, 0], 'resultado': '(q1, 101011100) |- (q2, 01011100) |- (q3, 1011100) |- (q2, 011100) |- (q3, 11100) |- (q2, 1100) |- (q2, 100) |- (q2, 00) |- (q3, 0) |- (q2, )' }] for teste in casos_de_teste: resultado = tc.computacao(M1, M1[3], teste['palavra']) assert teste['resultado'] == resultado