Fix flaky test PolarPlotTest.testGetLegendItems2 #387
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to fix a test:
This was found by using the NonDex tool.
Encountered the following error after running NonDex:
REASON AND FIX
The tests fail when the function values of 'items' are compared using assert statements in
testGetLegendItems2
. This is because the 'renderers' in Plot are set using HashMap which maintains a non-deterministic order.jfreechart/src/test/java/org/jfree/chart/plot/PolarPlotTest.java
Line 103 in e2d6788
jfreechart/src/main/java/org/jfree/chart/plot/PolarPlot.java
Line 261 in e2d6788
According to HashMap documentation,
"This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time."
This can be solved by changing from HashMap to
LinkedHashMap
to maintain a permanent deterministic order.Reproduce:
The following command can be used to replicate the failures and validate the fix:
Environment:
No user-facing change.
No dependency upgrade.