Пример #1
0
def test_types():
    class A(object):
        pass

    class B(object):
        pass

    class C(A, B):
        pass

    object_list = [
        "test", u'test', 1, 1L, 1.0, [], {},
        A(),
        B(),
        C(),
        type("NewClass", (object, ), {})(), False, None
    ]

    def node_check(node):
        assert node.val.__node__.__class__.__name__ is 'Node'

    #cb = Callback(node_check)
    pilot = Pilot(node_check)
    pilot.fly(object_list)
    return 1
Пример #2
0
def test_types():
    class A(object): pass
    class B(object): pass
    class C(A, B): pass
    object_list = [
        "test",
        u'test',
        1,
        1L,
        1.0,
        [],
        {},
        A(),
        B(),
        C(),
        type("NewClass", (object,), {})(),
        False,
        None
    ]
    def node_check(node):
        assert node.val.__node__.__class__.__name__ is 'Node'
    #cb = Callback(node_check)
    pilot = Pilot(node_check)
    pilot.fly(object_list)
    return 1
Пример #3
0
def test_tree():
    pilot = Pilot()
    data = pilot.fly(data_small)
    assert len(data.__node__.children()) is 8
    assert data.__node__.is_orphan is True
    family = data['family']
    assert len(family.__node__.parents()) is 1
    assert len(family.__node__.children()) is 4
    for child in family.__node__.children(as_generator=True):
        if 'name' in child.val and child.val['name'] == "Jeri Bowen":
            nest = child.val['nested'].__node__.children()[0].children()[0].val
            assert nest.val is True
            assert len(nest.__node__.ancestors()) is 5
            break
    assert len(data.__node__.descendants()) is 58
    assert len(data.__node__.descendants(filters={'type': 'person'})) is 13
    return 1
Пример #4
0
def test_loop():
    process_count = 200
    nl = {}
    def cb(node):
        if not str(node.id) in nl:
            nl[str(node.id)] = 1
        else:
            nl[str(node.id)] += 1
    a = {}
    b = {'a':a}
    a['b'] = b
    pilot = Pilot(cb)
    pilot.config.node_visit_limit = process_count
    data = pilot.fly(a)
    assert data.__node__.processed is process_count
    assert data['b'].__node__.processed is process_count
    return 1
Пример #5
0
def test_tree():
    pilot = Pilot()
    data = pilot.fly(data_small)
    assert len(data.__node__.children()) is 8
    assert data.__node__.is_orphan is True
    family = data['family']
    assert len(family.__node__.parents()) is 1
    assert len(family.__node__.children()) is 4
    for child in family.__node__.children(as_generator=True):
        if 'name' in child.val and child.val['name'] == "Jeri Bowen":
            nest = child.val['nested'].__node__.children()[0].children()[0].val
            assert nest.val is True
            assert len(nest.__node__.ancestors()) is 5
            break
    assert len(data.__node__.descendants()) is 58
    assert len(data.__node__.descendants(filters={'type': 'person'})) is 13
    return 1
Пример #6
0
def test_loop():
    process_count = 200
    nl = {}

    def cb(node):
        if not str(node.id) in nl:
            nl[str(node.id)] = 1
        else:
            nl[str(node.id)] += 1

    a = {}
    b = {'a': a}
    a['b'] = b
    pilot = Pilot(cb)
    pilot.config.node_visit_limit = process_count
    data = pilot.fly(a)
    assert data.__node__.processed is process_count
    assert data['b'].__node__.processed is process_count
    return 1