Пример #1
0
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, )"
Пример #2
0
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