Пример #1
0
def test_dgraph_exists_edge(dg: Dgraph):
    e = Edge(src="ATCG", tgt="ATCC", edge_value=1)
    exists, _ = dg.exists_edge(e)
    assert not exists
    dg.upsert_edge(e)
    exists, _ = dg.exists_edge(e)
    assert exists
Пример #2
0
def test_dgraph_exists_node(dg: Dgraph):
    na = Node(value='a')
    exists, _ = dg.exists_node(na)
    assert not exists
    dg.upsert_node(na, echo=False)
    exists, uid = dg.exists_node(na)
    assert exists
    log.info("uid: {}".format(uid))
Пример #3
0
def test_dgraph_find_edges(dg: Dgraph):
    na = Node(value="ATCG")
    nb = Node(value="ATCC")
    dg.upsert_node(na)
    dg.upsert_node(nb)
    e = Edge(src="ATCG", tgt="ATCC", edge_type="genome_a", edge_value=0)
    dg.upsert_edge(e)

    ef_set = dg.find_edges("ATCG")
    assert len(ef_set) == 1
    ef = ef_set[0]
    assert ef.src == "ATCG"
    assert ef.tgt == "ATCC"
    assert ef.edge_value == 0
    assert ef.edge_type == "genome_a"
Пример #4
0
def test_dgraph_edges_multiple_reverse(dg: Dgraph):
    _setup_connected_multiple(dg)
    edges = dg.find_edges_reverse("CDE")
    try:
        assert len(edges) == 2
    except:
        raise GraphException(dg)
Пример #5
0
def test_dgraph_find_value_reverse(dg: Dgraph):
    na = Node(value="ATCG")
    nb = Node(value="ATCC")
    dg.upsert_node(na)
    dg.upsert_node(nb)
    e = Edge(src="ATCG", tgt="ATCC", edge_type="genome_a", edge_value=0)
    dg.upsert_edge(e)

    _, uid_b = dg.exists_node(nb)
    v2 = dg.find_value_reverse(uid_b, "genome_a")
    assert v2 == 0
Пример #6
0
def test_dgraph_parse_edges(dg: Dgraph):
    lt = [
        {'n': 'ABC', 'fd':
            [{'type': 'e', 'uid': '0x3', 'fd': [{'n': 'BCE'}], 'value': -1}]
         },
        {'n': 'BCE', 'fd':
            [{'type': 'e', 'uid': '0x5', 'fd': [{'n': 'CEF'}], 'value': -1}]
         }]
    edges = dg._parse_edges(list_edges=lt, node_type="n", edge_predicate="fd")

    for e in edges:
        if e.src == 'ABC':
            assert e.tgt == 'BCE'
        elif e.src == 'BCE':
            assert e.tgt == 'CEF'
        else:
            assert False
Пример #7
0
def test_dgraph_find_value(dg: Dgraph):
    na = Node(value="ATCG")
    nb = Node(value="ATCC")
    dg.upsert_node(na)
    dg.upsert_node(nb)
    e = Edge(src="ATCG", tgt="ATCC", edge_type="genome_a", edge_value=0)
    dg.upsert_edge(e)

    _, uid = dg.exists_node(na)
    v = dg.find_value(uid, "genome_a")
    log.info("Found value for {} as {}".format(uid, v))
    assert v == 0
Пример #8
0
def test_dgraph_find_depth(dg: Dgraph):
    na = Node(value="ATCG")
    nb = Node(value="ATCC")
    dg.upsert_node(na)
    dg.upsert_node(nb)
    e = Edge(src="ATCG", tgt="ATCC", edge_type="genome_a", edge_value=0)
    dg.upsert_edge(e)
    _, uid_a = dg.exists_node(na)
    _, uid_b = dg.exists_node(nb)
    d = dg.find_depth(uid_a, uid_b, "genome_a")
    log.info("Found depth for {} to {} as {}".format(uid_a, uid_b, d))
    assert d == 1

    nc = Node(value="ATGG")
    dg.upsert_node(nc)
    e2 = Edge(src="ATCC", tgt="ATGG", edge_type="genome_a", edge_value=1)
    dg.upsert_edge(e2)
    _, uid_c = dg.exists_node(nc)
    d2 = dg.find_depth(uid_a, uid_c, "genome_a")
    log.info("Found depth for {} to {} as {}".format(uid_a, uid_c, d))
    assert d2 == 2