I finally tested the Rocs radial layout algorithm implementation. This includes some functional tests to check if the implementation works as expected in some cases and a non-functional test to evaluate the performance of the algorithm with respect to some aesthetic criteria.

The implementation passed all functional tests. Initially, the non-functional tests reported that edge crosses occurred. Since, in theory, no edge crosses can occur in layouts generated by the radial layout algorithm, I though the implementation had bugs. After checking the code a couple of times without finding any bugs, I decided to take a look at the graphs in which the algorithm was failing. I managed to get one example with just 8 vertices and applied the radial layout algorithm to it, getting the following result.


Wait! There are no crosses between edges in this layout. It turns out the bug was in the non-functional test. More precisely, the QLineF::intersects method reported an intersection between the two edges in red. After I fixed the problem, I got the expected results. Now I can focus on the documentation of the graph-layout plugin.