コード例 #1
0
ファイル: test_change.py プロジェクト: ganwell/jama
def test_collect():
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.State.from_file(a)
    c = cmod.Delete(1)
    d = c.apply(b)
    e = cmod.collect_deleted_nodes(d.edges, d.nodes)
    assert e == {(Nodes.start, 0), (0, 2), (2, Nodes.end)}

    c = cmod.Insert(0, [3], 2)
    d = c.apply(b)
    e = cmod.Delete(2)
    f = e.apply(d)
    g = cmod.collect_deleted_nodes(f.edges, f.nodes)
    assert g == {(Nodes.start, 0), (0, 1), (0, 3), (1, Nodes.end),
                 (3, Nodes.end)}
コード例 #2
0
ファイル: test_change.py プロジェクト: ganwell/jama
def test_diff_del():
    a = cmod.FileReprEdit.from_size(3)
    assert a.node_list == [0, 1, 2]
    b = a.delete(0, 1)
    assert b.node_list == [1, 2]
    c = list(cmod.Change.from_diff(a, b))
    assert c == [cmod.Delete(0)]
    b = a.delete(1, 1)
    assert b.node_list == [0, 2]
    c = list(cmod.Change.from_diff(a, b))
    assert c == [cmod.Delete(1)]
    b = a.delete(1, 2)
    assert b.node_list == [0]
    c = list(cmod.Change.from_diff(a, b))
    assert c == [cmod.Delete(1), cmod.Delete(2)]
コード例 #3
0
ファイル: test_change.py プロジェクト: ganwell/jama
def test_complex_del():
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.State.from_file(a)
    c = cmod.Insert(Nodes.start, [3], 2)
    d = c.apply(b)
    assert d.nodes == [True, True, True, True]
    assert d.edges == {
        (Nodes.start, 0),
        (0, 1),
        (1, 2),
        (Nodes.start, 3),
        (3, 2),
        (2, Nodes.end),
    }
    e = cmod.Delete(0)
    f = e.apply(d)
    assert f.nodes == [False, True, True, True]
    assert f.edges == {
        (Nodes.start, 0),
        (0, 1),
        (1, 2),
        (Nodes.start, 3),
        (3, 2),
        (2, Nodes.end),
    }
コード例 #4
0
ファイル: test_change.py プロジェクト: ganwell/jama
def test_delete_apply():
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.State.from_file(a)
    assert b.nodes == [True, True, True]
    assert b.edges == {(Nodes.start, 0), (0, 1), (1, 2), (2, Nodes.end)}
    c = cmod.Delete(1)
    d = c.apply(b)
    assert d.nodes == [True, False, True]
    assert d.edges == {(Nodes.start, 0), (0, 1), (1, 2), (2, Nodes.end)}
コード例 #5
0
ファイル: test_change.py プロジェクト: ganwell/jama
def test_diff_repl():
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.FileRepr([0, 3, 2])
    c = list(cmod.Change.from_diff(a, b))
    assert c == [cmod.Delete(1), cmod.Insert(0, [3], 2)]
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.FileRepr([0, 1, 3])
    c = list(cmod.Change.from_diff(a, b))
    assert c == [cmod.Delete(2), cmod.Insert(1, [3], Nodes.end)]
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.FileRepr([3, 1, 2])
    c = list(cmod.Change.from_diff(a, b))
    assert c == [cmod.Delete(0), cmod.Insert(Nodes.start, [3], 1)]
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.FileRepr([0, 3, 4, 2])
    c = list(cmod.Change.from_diff(a, b))
    assert c == [cmod.Delete(1), cmod.Insert(0, [3, 4], 2)]
    a = cmod.FileRepr([0, 1, 2])
    b = cmod.FileRepr([0, 3])
    c = list(cmod.Change.from_diff(a, b))
    assert c == [
        cmod.Delete(1),
        cmod.Delete(2),
        cmod.Insert(0, [3], Nodes.end)
    ]
コード例 #6
0
ファイル: test_change.py プロジェクト: ganwell/jama
def test_collect_problem():
    a = cmod.FileReprEdit.from_size(2)
    b = cmod.State.from_file(a)
    c = cmod.Delete(0).apply(b)
    assert c.nodes == [False, True]
    d = cmod.Insert(Nodes.start, [2], 1).apply(c)
    assert d.edges == {
        (Nodes.start, 0),
        (0, 1),
        (1, Nodes.end),
        (Nodes.start, 2),
        (2, 1),
    }
    e = cmod.collect_deleted_nodes(d.edges, d.nodes)