(g)
| 154 | _test_one(g) |
| 155 | |
| 156 | def _test_csr_one(g): |
| 157 | assert g.num_nodes() == 10 |
| 158 | assert g.num_edges() == 20 |
| 159 | |
| 160 | for i in range(10): |
| 161 | assert g.has_nodes(i) |
| 162 | assert not g.has_nodes(11) |
| 163 | assert F.allclose(g.has_nodes([0, 2, 10, 11]), F.tensor([1, 1, 0, 0])) |
| 164 | |
| 165 | src, dst = edge_pair_input(sort=True) |
| 166 | for u, v in zip(src, dst): |
| 167 | assert g.has_edges_between(u, v) |
| 168 | assert not g.has_edges_between(0, 0) |
| 169 | assert F.allclose( |
| 170 | g.has_edges_between([0, 0, 3], [0, 9, 8]), F.tensor([0, 1, 1]) |
| 171 | ) |
| 172 | assert set(F.asnumpy(g.predecessors(9))) == set([0, 5, 7, 4]) |
| 173 | assert set(F.asnumpy(g.successors(2))) == set([7, 3]) |
| 174 | |
| 175 | # src = [0 0 0 1 1 2 2 3 3 4 4 4 4 5 5 6 7 7 7 9] |
| 176 | # dst = [4 6 9 3 5 3 7 5 8 1 3 4 9 1 9 6 2 8 9 2] |
| 177 | # eid = [0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9] |
| 178 | assert g.edge_ids(4, 4) == 11 |
| 179 | assert F.allclose(g.edge_ids([4, 0], [4, 9]), F.tensor([11, 2])) |
| 180 | |
| 181 | src, dst = g.find_edges([3, 6, 5]) |
| 182 | assert F.allclose(src, F.tensor([1, 2, 2])) |
| 183 | assert F.allclose(dst, F.tensor([3, 7, 3])) |
| 184 | |
| 185 | src, dst, eid = g.in_edges(9, form="all") |
| 186 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 187 | assert set(tup) == set([(0, 9, 2), (5, 9, 14), (7, 9, 18), (4, 9, 12)]) |
| 188 | src, dst, eid = g.in_edges( |
| 189 | [9, 0, 8], form="all" |
| 190 | ) # test node#0 has no in edges |
| 191 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 192 | assert set(tup) == set( |
| 193 | [ |
| 194 | (0, 9, 2), |
| 195 | (5, 9, 14), |
| 196 | (7, 9, 18), |
| 197 | (4, 9, 12), |
| 198 | (3, 8, 8), |
| 199 | (7, 8, 17), |
| 200 | ] |
| 201 | ) |
| 202 | |
| 203 | src, dst, eid = g.out_edges(0, form="all") |
| 204 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 205 | assert set(tup) == set([(0, 9, 2), (0, 6, 1), (0, 4, 0)]) |
| 206 | src, dst, eid = g.out_edges( |
| 207 | [0, 4, 8], form="all" |
| 208 | ) # test node#8 has no out edges |
| 209 | tup = list(zip(F.asnumpy(src), F.asnumpy(dst), F.asnumpy(eid))) |
| 210 | assert set(tup) == set( |
| 211 | [ |
| 212 | (0, 9, 2), |
| 213 | (0, 6, 1), |
no test coverage detected