MCPcopy
hub / github.com/dmlc/dgl / _test

Function _test

tests/python/common/test_heterograph.py:402–492  ·  view source on GitHub ↗
(g)

Source from the content-addressed store, hash-verified

400 assert g.to_canonical_etype(etypes[i]) == canonical_etypes[i]
401
402 def _test(g):
403 # number of nodes
404 assert [g.num_nodes(ntype) for ntype in ntypes] == [3, 2, 2]
405
406 # number of edges
407 assert [g.num_edges(etype) for etype in etypes] == [2, 4, 2, 2]
408
409 # has_nodes
410 for ntype in ntypes:
411 n = g.num_nodes(ntype)
412 for i in range(n):
413 assert g.has_nodes(i, ntype)
414 assert not g.has_nodes(n, ntype)
415 assert np.array_equal(
416 F.asnumpy(g.has_nodes([0, n], ntype)).astype("int32"), [1, 0]
417 )
418
419 assert not g.is_multigraph
420
421 for etype in etypes:
422 srcs, dsts = edges[etype]
423 for src, dst in zip(srcs, dsts):
424 assert g.has_edges_between(src, dst, etype)
425 assert F.asnumpy(g.has_edges_between(srcs, dsts, etype)).all()
426
427 srcs, dsts = negative_edges[etype]
428 for src, dst in zip(srcs, dsts):
429 assert not g.has_edges_between(src, dst, etype)
430 assert not F.asnumpy(g.has_edges_between(srcs, dsts, etype)).any()
431
432 srcs, dsts = edges[etype]
433 n_edges = len(srcs)
434
435 # predecessors & in_edges & in_degree
436 pred = [s for s, d in zip(srcs, dsts) if d == 0]
437 assert set(F.asnumpy(g.predecessors(0, etype)).tolist()) == set(
438 pred
439 )
440 u, v = g.in_edges([0], etype=etype)
441 assert F.asnumpy(v).tolist() == [0] * len(pred)
442 assert set(F.asnumpy(u).tolist()) == set(pred)
443 assert g.in_degrees(0, etype) == len(pred)
444
445 # successors & out_edges & out_degree
446 succ = [d for s, d in zip(srcs, dsts) if s == 0]
447 assert set(F.asnumpy(g.successors(0, etype)).tolist()) == set(succ)
448 u, v = g.out_edges([0], etype=etype)
449 assert F.asnumpy(u).tolist() == [0] * len(succ)
450 assert set(F.asnumpy(v).tolist()) == set(succ)
451 assert g.out_degrees(0, etype) == len(succ)
452
453 # edge_ids
454 for i, (src, dst) in enumerate(zip(srcs, dsts)):
455 assert g.edge_ids(src, dst, etype=etype) == i
456 _, _, eid = g.edge_ids(src, dst, etype=etype, return_uv=True)
457 assert eid == i
458 assert F.asnumpy(
459 g.edge_ids(srcs, dsts, etype=etype)

Callers 1

test_queryFunction · 0.70

Calls 15

asnumpyMethod · 0.80
num_nodesMethod · 0.45
num_edgesMethod · 0.45
has_nodesMethod · 0.45
astypeMethod · 0.45
has_edges_betweenMethod · 0.45
predecessorsMethod · 0.45
in_edgesMethod · 0.45
in_degreesMethod · 0.45
successorsMethod · 0.45
out_edgesMethod · 0.45
out_degreesMethod · 0.45

Tested by

no test coverage detected