| labelIntersectionNodes(int) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| labelIsolatedNodes() |  | 97% |   | 87% | 1 | 5 | 0 | 10 | 0 | 1 |
| computeIM() |  | 100% |  | 100% | 0 | 2 | 0 | 25 | 0 | 1 |
| computeProperIntersectionIM(SegmentIntersector, IntersectionMatrix) |  | 100% |  | 100% | 0 | 15 | 0 | 15 | 0 | 1 |
| computeIntersectionNodes(int) |  | 100% |  | 100% | 0 | 5 | 0 | 13 | 0 | 1 |
| computeDisjointIM(IntersectionMatrix, BoundaryNodeRule) |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| updateIM(IntersectionMatrix) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| RelateComputer(GeometryGraph[]) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| labelIsolatedEdges(int, int) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| copyNodesAndLabels(int) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| labelIsolatedEdge(Edge, int, Geometry) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| labelNodeEdges() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| labelIsolatedNode(Node, int) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| insertEdgeEnds(List) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| getBoundaryDim(Geometry, BoundaryNodeRule) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |