()
| 62 | |
| 63 | |
| 64 | def test_query(): |
| 65 | def _test_one(g): |
| 66 | assert g.num_nodes() == 10 |
| 67 | assert g.num_edges() == 20 |
| 68 | |
| 69 | for i in range(10): |
| 70 | assert g.has_nodes(i) |
| 71 | assert not g.has_nodes(11) |
| 72 | assert F.allclose(g.has_nodes([0, 2, 10, 11]), F.tensor([1, 1, 0, 0])) |
| 73 | |
| 74 | src, dst = edge_pair_input() |
| 75 | for u, v in zip(src, dst): |
| 76 | assert g.has_edges_between(u, v) |
| 77 | assert not g.has_edges_between(0, 0) |
| 78 | assert F.allclose( |
| 79 | g.has_edges_between([0, 0, 3], [0, 9, 8]), F.tensor([0, 1, 1]) |
| 80 | ) |
| 81 | assert set(F.asnumpy(g.predecessors(9))) == set([0, 5, 7, 4]) |
| 82 | assert set(F.asnumpy(g.successors(2))) == set([7, 3]) |
| 83 | |
| 84 | assert g.edge_ids(4, 4) == 5 |
| 85 | assert F.allclose(g.edge_ids([4, 0], [4, 9]), F.tensor([5, 0])) |
| 86 | |
| 87 | src, dst = g.find_edges([3, 6, 5]) |
| 88 | assert F.allclose(src, F.tensor([5, 7, 4])) |
| 89 | assert F.allclose(dst, F.tensor([9, 9, 4])) |
| 90 | |
| 91 | src, dst, eid = g.in_edges(9, form="all") |
| 92 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 93 | assert set(tup) == set([(0, 9, 0), (5, 9, 3), (7, 9, 6), (4, 9, 7)]) |
| 94 | src, dst, eid = g.in_edges( |
| 95 | [9, 0, 8], form="all" |
| 96 | ) # test node#0 has no in edges |
| 97 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 98 | assert set(tup) == set( |
| 99 | [(0, 9, 0), (5, 9, 3), (7, 9, 6), (4, 9, 7), (3, 8, 9), (7, 8, 12)] |
| 100 | ) |
| 101 | |
| 102 | src, dst, eid = g.out_edges(0, form="all") |
| 103 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 104 | assert set(tup) == set([(0, 9, 0), (0, 6, 1), (0, 4, 4)]) |
| 105 | src, dst, eid = g.out_edges( |
| 106 | [0, 4, 8], form="all" |
| 107 | ) # test node#8 has no out edges |
| 108 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 109 | assert set(tup) == set( |
| 110 | [ |
| 111 | (0, 9, 0), |
| 112 | (0, 6, 1), |
| 113 | (0, 4, 4), |
| 114 | (4, 3, 2), |
| 115 | (4, 4, 5), |
| 116 | (4, 9, 7), |
| 117 | (4, 1, 8), |
| 118 | ] |
| 119 | ) |
| 120 | |
| 121 | src, dst, eid = g.edges("all", "eid") |
no test coverage detected