nidi3 / graphviz-java

Use graphviz with pure java
Apache License 2.0
934 stars 106 forks source link

Behaviour of MutableGraph#nodes changed, but undocumented #185

Open Gwaptiva opened 3 years ago

Gwaptiva commented 3 years ago

Moin,

I'm trying to upgrade graphviz/java from 0.12.1 to the (current) 0.17.1

My application generates a dot "file" and then feeds that into a Parser instance to turn it into a MutableGraph. For 0.12.1 I wrote automated tests that validate that the returned MutableGraph contains the nodes and links it should.

But since the update these unit tests have started to error.

From the source, I take it that the nodes method now returns all the nodes within a graph, whereas rootNodes returns nodes that have the current graph as its immediate parent. However, it isn't quite clear what happened to links between items within and without the current graph/cluster.

Is there any documentation as to the behaviour I am allowed to expect?

[Edit: Noticing now that the same test fails at difference locations; could it be that the nodes() method contains duplicates, some where the links() method returns nothing, and some where it does? Edit2: Yes it does. And then it is potluck which node my test retrieves to validate links... (sorry for the commentary)]