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
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
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
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
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