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 }
|