< prev index next >

modules/controls/src/test/java/test/javafx/scene/chart/StackedAreaChartTest.java

Print this page
rev 9945 : 8089755: AreaChart area color change when series is removed


  61         series1.getData().add(new XYChart.Data(countries[3], 15d));
  62         series1.getData().add(new XYChart.Data(countries[4], 10d));
  63         } else {
  64             xAxis = new NumberAxis();
  65             ac = new StackedAreaChart<Number,Number>(xAxis,yAxis);
  66             // add starting data
  67         series1.getData().add(new XYChart.Data(10d, 10d));
  68         series1.getData().add(new XYChart.Data(25d, 20d));
  69         series1.getData().add(new XYChart.Data(30d, 15d));
  70         series1.getData().add(new XYChart.Data(50d, 15d));
  71         series1.getData().add(new XYChart.Data(80d, 10d));
  72         }
  73 
  74         xAxis.setLabel("X Axis");
  75         yAxis.setLabel("Y Axis");
  76         ac.setTitle("HelloStackedAreaChart");
  77 
  78         return ac;
  79     }
  80 
  81     private StringBuffer getSeriesLineFromPlot() {
  82         ObservableList<Node> childrenList = XYChartShim.getPlotChildren(ac);
  83         StringBuffer sb = new StringBuffer();
  84         for (Node n : childrenList) {
  85             if (n instanceof Group) {
  86                 for (Node gn : ((Group)n).getChildren()) {
  87                     if (gn instanceof Path && "chart-series-area-line".equals(gn.getStyleClass().get(0))) {
  88                         Path line = (Path)gn;
  89                         sb = computeSVGPath(line);
  90                         return sb;
  91                     }
  92                 }
  93             }
  94         }
  95         return sb;
  96     }
  97 
  98     @Test @Ignore("pending RT-28373")
  99     public void testSeriesAdd() {
 100         startApp();
 101         ac.getData().addAll(series1);
 102         pulse();
 103         StringBuffer sb = getSeriesLineFromPlot();
 104 //        assertEquals("L220.0 59.0 L264.0 175.0 L440.0 175.0 L704.0 291.0 ", sb.toString());
 105         assertEquals("L219.0 58.0 L263.0 173.0 L438.0 173.0 L700.0 289.0 ", sb.toString());
 106 
 107     }
 108 
 109     @Test @Ignore
 110     public void testDataItemRemove() {
 111         startApp();
 112         ac.getData().addAll(series1);
 113         pulse();
 114         if (!ac.getData().isEmpty()) {
 115             series1.getData().remove(0);
 116             pulse();
 117             StringBuffer sb = getSeriesLineFromPlot();
 118             assertEquals(sb.toString(), "L247.0 171.0 L412.0 171.0 L658.0 284.0 ");
 119         }
 120     }
 121 
 122     @Test @Ignore
 123     public void testDataItemAdd() {
 124         startApp();
 125         ac.getData().addAll(series1);
 126         pulse();
 127         if (!ac.getData().isEmpty()) {
 128             series1.getData().add(new XYChart.Data(40d,10d));
 129             pulse();
 130             StringBuffer sb = getSeriesLineFromPlot();
 131             assertEquals(sb.toString(), "L206.0 57.0 L247.0 171.0 L329.0 284.0 L412.0 171.0 L658.0 284.0 ");
 132         }
 133     }
 134 
 135     @Test @Ignore
 136     public void testDataItemInsert() {
 137         startApp();
 138         ac.getData().addAll(series1);
 139         pulse();
 140         if (!ac.getData().isEmpty()) {
 141             series1.getData().add(2, new XYChart.Data(40d,10d));
 142             pulse();
 143             StringBuffer sb = getSeriesLineFromPlot();
 144             assertEquals(sb.toString(), "L206.0 57.0 L247.0 171.0 L329.0 284.0 L412.0 171.0 L658.0 284.0 ");
 145         }
 146     }
 147 
 148     @Test @Ignore
 149     public void testDataItemChange() {
 150         startApp();
 151         ac.getData().addAll(series1);
 152         pulse();
 153         if (!ac.getData().isEmpty()) {
 154             XYChart.Data<Number,Number> d = series1.getData().get(2);
 155             d.setXValue(40d);
 156             d.setYValue(30d);
 157             pulse();
 158             StringBuffer sb = getSeriesLineFromPlot();
 159             assertEquals(sb.toString(), "L206.0 197.0 L329.0 40.0 L412.0 276.0 L658.0 354.0 ");
 160         }
 161     }
 162 
 163     @Test
 164     public void testStackedAreaChartWithCategoryAxis() {
 165         useCategoryAxis = true;
 166         startApp();
 167         useCategoryAxis = false;
 168     }
 169 
 170     @Test public void testCreateSymbols() {
 171          startApp();
 172          ac.setCreateSymbols(false);
 173          pulse();
 174          ac.getData().addAll(series1);
 175          pulse();
 176          assertEquals(0, countSymbols(ac, "chart-area-symbol"));
 177 
 178          ac.getData().clear();
 179          pulse();


 397                 new StackedAreaChart.Data(2, 5),
 398                 new StackedAreaChart.Data(4, 4),
 399                 new StackedAreaChart.Data(6, 2),
 400                 new StackedAreaChart.Data(8, 6),
 401                 new StackedAreaChart.Data(10, 8)
 402         )));
 403         ac.getData().add(new StackedAreaChart.Series<>());
 404         ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
 405                 new StackedAreaChart.Data(0,8),
 406                 new StackedAreaChart.Data(2,1),
 407                 new StackedAreaChart.Data(4,9),
 408                 new StackedAreaChart.Data(6,7),
 409                 new StackedAreaChart.Data(8,5),
 410                 new StackedAreaChart.Data(10,7)
 411         )));
 412 
 413         XYChartShim.updateAxisRange(ac);
 414 
 415         assertEquals(2, ValueAxisShim.get_dataMinValue(yAxis), 1e-100);
 416         assertEquals(15, ValueAxisShim.get_dataMaxValue(yAxis), 1e-100);

























 417     }
 418 }


  61         series1.getData().add(new XYChart.Data(countries[3], 15d));
  62         series1.getData().add(new XYChart.Data(countries[4], 10d));
  63         } else {
  64             xAxis = new NumberAxis();
  65             ac = new StackedAreaChart<Number,Number>(xAxis,yAxis);
  66             // add starting data
  67         series1.getData().add(new XYChart.Data(10d, 10d));
  68         series1.getData().add(new XYChart.Data(25d, 20d));
  69         series1.getData().add(new XYChart.Data(30d, 15d));
  70         series1.getData().add(new XYChart.Data(50d, 15d));
  71         series1.getData().add(new XYChart.Data(80d, 10d));
  72         }
  73 
  74         xAxis.setLabel("X Axis");
  75         yAxis.setLabel("Y Axis");
  76         ac.setTitle("HelloStackedAreaChart");
  77 
  78         return ac;
  79     }
  80 
  81     private String getSeriesLineFromPlot() {
  82         for (Node n : XYChartShim.getPlotChildren(ac)) {


  83             if (n instanceof Group) {
  84                 for (Node gn : ((Group)n).getChildren()) {
  85                     if (gn instanceof Path && "chart-series-area-line".equals(gn.getStyleClass().get(0))) {
  86                         Path line = (Path)gn;
  87                         return computeSVGPath(line);

  88                     }
  89                 }
  90             }
  91         }
  92         return "";
  93     }
  94 
  95     @Test @Ignore("pending RT-28373")
  96     public void testSeriesAdd() {
  97         startApp();
  98         ac.getData().addAll(series1);
  99         pulse();
 100 //        assertEquals("L220.0 59.0 L264.0 175.0 L440.0 175.0 L704.0 291.0 ", getSeriesLineFromPlot());
 101         assertEquals("L219.0 58.0 L263.0 173.0 L438.0 173.0 L700.0 289.0 ", getSeriesLineFromPlot());

 102 
 103     }
 104 
 105     @Test @Ignore
 106     public void testDataItemRemove() {
 107         startApp();
 108         ac.getData().addAll(series1);
 109         pulse();
 110         if (!ac.getData().isEmpty()) {
 111             series1.getData().remove(0);
 112             pulse();
 113             assertEquals("L247.0 171.0 L412.0 171.0 L658.0 284.0 ", getSeriesLineFromPlot());

 114         }
 115     }
 116 
 117     @Test @Ignore
 118     public void testDataItemAdd() {
 119         startApp();
 120         ac.getData().addAll(series1);
 121         pulse();
 122         if (!ac.getData().isEmpty()) {
 123             series1.getData().add(new XYChart.Data(40d,10d));
 124             pulse();
 125             assertEquals("L206.0 57.0 L247.0 171.0 L329.0 284.0 L412.0 171.0 L658.0 284.0 ", getSeriesLineFromPlot());

 126         }
 127     }
 128 
 129     @Test @Ignore
 130     public void testDataItemInsert() {
 131         startApp();
 132         ac.getData().addAll(series1);
 133         pulse();
 134         if (!ac.getData().isEmpty()) {
 135             series1.getData().add(2, new XYChart.Data(40d,10d));
 136             pulse();
 137             assertEquals("L206.0 57.0 L247.0 171.0 L329.0 284.0 L412.0 171.0 L658.0 284.0 ", getSeriesLineFromPlot());

 138         }
 139     }
 140 
 141     @Test @Ignore
 142     public void testDataItemChange() {
 143         startApp();
 144         ac.getData().addAll(series1);
 145         pulse();
 146         if (!ac.getData().isEmpty()) {
 147             XYChart.Data<Number,Number> d = series1.getData().get(2);
 148             d.setXValue(40d);
 149             d.setYValue(30d);
 150             pulse();
 151             assertEquals("L206.0 197.0 L329.0 40.0 L412.0 276.0 L658.0 354.0 ", getSeriesLineFromPlot());

 152         }
 153     }
 154 
 155     @Test
 156     public void testStackedAreaChartWithCategoryAxis() {
 157         useCategoryAxis = true;
 158         startApp();
 159         useCategoryAxis = false;
 160     }
 161 
 162     @Test public void testCreateSymbols() {
 163          startApp();
 164          ac.setCreateSymbols(false);
 165          pulse();
 166          ac.getData().addAll(series1);
 167          pulse();
 168          assertEquals(0, countSymbols(ac, "chart-area-symbol"));
 169 
 170          ac.getData().clear();
 171          pulse();


 389                 new StackedAreaChart.Data(2, 5),
 390                 new StackedAreaChart.Data(4, 4),
 391                 new StackedAreaChart.Data(6, 2),
 392                 new StackedAreaChart.Data(8, 6),
 393                 new StackedAreaChart.Data(10, 8)
 394         )));
 395         ac.getData().add(new StackedAreaChart.Series<>());
 396         ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
 397                 new StackedAreaChart.Data(0,8),
 398                 new StackedAreaChart.Data(2,1),
 399                 new StackedAreaChart.Data(4,9),
 400                 new StackedAreaChart.Data(6,7),
 401                 new StackedAreaChart.Data(8,5),
 402                 new StackedAreaChart.Data(10,7)
 403         )));
 404 
 405         XYChartShim.updateAxisRange(ac);
 406 
 407         assertEquals(2, ValueAxisShim.get_dataMinValue(yAxis), 1e-100);
 408         assertEquals(15, ValueAxisShim.get_dataMaxValue(yAxis), 1e-100);
 409     }
 410 
 411     @Override
 412     void checkSeriesStyleClasses(XYChart.Series<?, ?> series,
 413             int seriesIndex, int colorIndex) {
 414         Group group = (Group) series.getNode();
 415         Node fillPath = group.getChildren().get(0);
 416         Node seriesLine = group.getChildren().get(1);
 417         checkStyleClass(fillPath, "series"+seriesIndex, "default-color"+colorIndex);
 418         checkStyleClass(seriesLine, "series"+seriesIndex, "default-color"+colorIndex);
 419     }
 420 
 421     @Override
 422     void checkDataStyleClasses(XYChart.Data<?, ?> data,
 423             int seriesIndex, int dataIndex, int colorIndex) {
 424         Node symbol = data.getNode();
 425         checkStyleClass(symbol, "series"+seriesIndex, "data"+dataIndex, "default-color"+colorIndex);
 426     }
 427 
 428     @Test
 429     public void testSeriesRemoveAnimatedStyleClasses() {
 430         startApp();
 431         //ac.setCreateSymbols(false);
 432         int nodesPerSeries = 4; // 3 symbols + 1 path
 433         checkSeriesRemoveAnimatedStyleClasses(ac, nodesPerSeries, 400);
 434     }
 435 }
< prev index next >