示例#1
0
def test_actions():
    tracker = Tracker(False, FakeNodeCreator(GenericActivate))
    d = tracker.root.createchild("node", "a")\
                    .createchild("node", "b")\
                    .createchild("node", "c")\
                    .createchild("node", "d")

    c = tracker.root.createchild("node", "a")\
                    .createchild("node", "b")\
                    .createchild("node", "c")

    b = tracker.root.createchild("node", "a")\
                    .createchild("node", "b")

    a = tracker.root.createchild("node", "a")

    query = searching.parse_single("node: a > node: b > node: c > node: d")
    assert query.mincreate == 0
    bound = query(tracker.root)
    z = list(bound.actions())
    assert z == [
        searching._NodeResult(d),
        searching._CreateResult(query.segments, 3, c),
        searching._CreateResult(query.segments, 2, b),
        searching._CreateResult(query.segments, 1, a),
    ]