On Sat, 13 Jul 2024 10:00:31 GMT, Markus Mack <mm...@openjdk.org> wrote:

>> This PR is a fix for another IOOBE that I discovered while working on #1476.
>> 
>> The PR simplifies the code for adding a series that already contains data by 
>> adding the data points one-by-one.
>> As far as I can see no attempt was previously made to optimize the bulk 
>> operation except for some trivial O(1) operations, so this should have no 
>> noticable performance impact.
>> 
>> Accidentally this fixes another bug related to the missing "negative" style 
>> class when negative data values are added.
>> 
>> Also, the PR aligns the handling of duplicate categories with the behavior 
>> clarified in #1476, when there are duplicates in the data that was already 
>> in the series before the series was added to the chart.
>> 
>> Note a change was made to the createTestSeries() test method, letting it 
>> start at index 1, avoiding the duplicate data items resulting from 
>> multiplying by 0.
>> Without this change `testSeriesRemoveAnimatedStyleClasses` would fail 
>> because it counts the number of plot children, where the duplicates are now 
>> removed.
>
> Markus Mack has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   fix "negative" style class when series is changed

modules/javafx.controls/src/test/java/test/javafx/scene/chart/BarChartTest.java 
line 305:

> 303:         BarChart<String, Number> chart = new BarChart<>(new 
> CategoryAxis(), new NumberAxis());
> 304:         XYChart.Series<String, Number> series = new XYChart.Series<>();
> 305:         chart.getData().add(series);

speaking of negative values - could we check **all** the possible ways where 
the 'negative' class is added?  or removed?

I think it might be possible to add a check to the exiting tests, to reuse the 
setup.

Lastly, I think we also need to test the case when the data point becomes 
non-negative after explicit XYChart.Data.setValue(), do you think?

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1488#discussion_r1678109067

Reply via email to