def test_consume():

    alphabet = ["a", "b", "c", "d"]
    states = ["1", "2", "3"]

    table = TransitionTable(alphabet, states)

    table.add_transition("a", "1", "2")
    table.add_transition("b", "1", "3")
    table.add_transition("c", "1", "1")

    next_state = table.consume("a", "1")

    assert next_state == "2", "expect '2', get {}".format(next_state)

    next_state = table.consume("b", "1")

    assert next_state == "3", "expect '3', get {}".format(next_state)

    # test InvalidTransition
    try:
        # invalid symbol
        table.consume("q", "1")
    except InvalidTransition:
        pass

    try:
        # invalid state
        table.consume("a", "4")
    except InvalidTransition:
        pass

    # testing DeadSate
    try:
        table.consume("d", "1")
    except DeadState:
        pass
Beispiel #2
0
def test_consume():

    alphabet = ["a", "b", "c", "d"]
    states = ["1", "2", "3"]

    table = TransitionTable(alphabet, states)

    table.add_transition("a", "1", "2")
    table.add_transition("b", "1", "3")
    table.add_transition("c", "1", "1")

    next_state = table.consume("a", "1")

    assert next_state == "2", "expect '2', get {}".format(next_state)

    next_state = table.consume("b", "1")

    assert next_state == "3", "expect '3', get {}".format(next_state)

    # test InvalidTransition
    try:
        # invalid symbol
        table.consume("q", "1")
    except InvalidTransition:
        pass

    try:
        # invalid state
        table.consume("a", "4")
    except InvalidTransition:
        pass

    # testing DeadSate
    try:
        table.consume("d", "1")
    except DeadState:
        pass