(self)
| 294 | assert a == b |
| 295 | |
| 296 | def test_node_interactions(self): |
| 297 | nn = ng.NNModule() |
| 298 | dfg = nn.dataFlow |
| 299 | test1 = dfg.createNode(ng.Operator("test1")) |
| 300 | test2 = dfg.createNode(ng.Operator("test2")) |
| 301 | x = dfg.createNode(ng.Data("x")) |
| 302 | dfg.createEdge(test1, x) |
| 303 | dfg.createEdge(x, test2) |
| 304 | p = test2.getOperatorPredecessors() |
| 305 | assert len(p) == 1 |
| 306 | assert p[0] == test1 |
| 307 | |
| 308 | # Add another node |
| 309 | test3 = dfg.createNode(ng.Operator("test3")) |
| 310 | y = dfg.createNode(ng.Data("y")) |
| 311 | dfg.createEdge(test3, y) |
| 312 | dfg.createEdge(y, test2) |
| 313 | p = test2.getOperatorPredecessors() |
| 314 | assert len(p) == 2 |
| 315 | assert test1 in p |
| 316 | assert test3 in p |
| 317 | |
| 318 | # Successors |
| 319 | assert len(test2.getOperatorSuccessors()) == 0 |
| 320 | assert len(test1.getOperatorSuccessors()) == 1 |
| 321 | assert test1.getOperatorSuccessors()[0] == test2 |
| 322 | |
| 323 | # Check all the nodes are valid (pybind ownership test) |
| 324 | for node in [test1, test2, test3]: |
| 325 | assert node.isOperator() |
| 326 | for node in [x, y]: |
| 327 | assert node.isTensor() |
| 328 | |
| 329 | def test_delete_node(self): |
| 330 | nn = ng.NNModule() |
nothing calls this directly
no test coverage detected