Esempio n. 1
0
def test_next_f_d1():
    # transition (D1)
    t = Tableau({
        (1, 1): 2,
        (1, 2): 3,
        (1, 3): 4,
        (1, 4): 5,
        (2, 2): 6,
        (2, 3): 7,
        (2, 4): 8,
        (2, 6): 4
    })
    state = FState(t, (2, 6))

    state, box = state.next()
    i, j = box

    t = Tableau({
        (1, 1): 2,
        (1, 2): 3,
        (1, 3): 4,
        (1, 4): 5,
        (2, 2): 4,
        (2, 3): 7,
        (2, 4): 8,
        (4, 3): 6
    })
    assert state == FState(t, (4, 3))
    assert i == 2
    assert j == 2
Esempio n. 2
0
def test_next_f_c3():
    # transition (C3)
    t = Tableau({
        (1, 1): 2,
        (1, 2): 3,
        (1, 3): 5,
        (1, 4): 6,
        (2, 2): 4,
        (2, 3): 6,
        (2, 4): 7,
        (3, 3): 8,
        (5, 3): 5
    })
    state = FState(t, (5, 3))

    state, box = state.next()
    i, j = box

    t = Tableau({
        (1, 1): 2,
        (1, 2): 3,
        (1, 3): 5,
        (1, 4): 6,
        (2, 2): 4,
        (2, 3): 6,
        (2, 4): 7,
        (3, 3): 8,
        (5, 4): 6
    })
    assert state == FState(t, (5, 4))
    assert i == 2
    assert j == 3
Esempio n. 3
0
def test_next_f_c1():
    # transition (C1)
    t = Tableau({
        (1, 1): 5,
        (1, 2): 5,
        (1, 3): 5,
        (1, 4): 4,
        (2, 2): 4,
        (4, 3): 6
    })
    state = FState(t, (4, 3))

    state, box = state.next()
    i, j = box

    t = Tableau({
        (1, 1): 5,
        (1, 2): 5,
        (1, 3): 5,
        (1, 4): 4,
        (2, 2): 4,
        (2, 3): 6
    })
    assert state == FState(t)
    assert i == 2
    assert j == 3
Esempio n. 4
0
def test_next_f_r1():
    # transition (R1)
    state = FState().add(1)

    t = Tableau().add(1, 2, 1)
    assert state == FState(t, (1, 2))

    state, box = state.next()
    i, j = box

    t = Tableau().add(1, 1, 1)
    assert state == FState(t)
    assert i == 1
    assert j == 1
Esempio n. 5
0
def test_next_f_r3():
    # transition (R3)
    #
    #   1 2 3  1
    # 5 5 3 4
    #
    t = Tableau({
        (1, 1): 5,
        (1, 2): 5,
        (1, 3): 5,
        (1, 4): 4,
        (2, 2): 1,
        (2, 3): 2,
        (2, 4): 3,
        (2, 6): 1
    })
    state = FState(t, (2, 6))

    state, box = state.next()
    i, j = box

    #     2
    #
    #   1 2 3
    # 5 5 5 4
    #
    t = Tableau({
        (1, 1): 5,
        (1, 2): 5,
        (1, 3): 5,
        (1, 4): 4,
        (2, 2): 1,
        (2, 3): 2,
        (2, 4): 3,
        (4, 3): 2
    })
    assert state == FState(t, (4, 3))
    assert i == 2
    assert j == 3