Skip to content

Commit 36e7a71

Browse files
committed
Implement tests for mixed charts
1 parent 26f3e1d commit 36e7a71

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,18 @@
3232
import software.xdev.chartjs.model.charts.Chart;
3333
import software.xdev.chartjs.model.charts.DoughnutChart;
3434
import software.xdev.chartjs.model.charts.LineChart;
35+
import software.xdev.chartjs.model.charts.MixedChart;
3536
import software.xdev.chartjs.model.charts.PieChart;
3637
import software.xdev.chartjs.model.charts.PolarChart;
3738
import software.xdev.chartjs.model.charts.RadarChart;
3839
import software.xdev.chartjs.model.charts.ScatterChart;
40+
import software.xdev.chartjs.model.data.AbstractData;
3941
import software.xdev.chartjs.model.data.BarData;
4042
import software.xdev.chartjs.model.data.BubbleData;
41-
import software.xdev.chartjs.model.data.Data;
4243
import software.xdev.chartjs.model.data.DoughnutData;
44+
import software.xdev.chartjs.model.data.HomogeneousData;
4345
import software.xdev.chartjs.model.data.LineData;
46+
import software.xdev.chartjs.model.data.MixedData;
4447
import software.xdev.chartjs.model.data.PieData;
4548
import software.xdev.chartjs.model.data.PolarData;
4649
import software.xdev.chartjs.model.data.RadarData;
@@ -71,7 +74,7 @@ class BasicChartTest extends AbstractChartTest
7174
{
7275
@ParameterizedTest(name = "Check if basic {0} is displayed correctly")
7376
@MethodSource
74-
<O extends Options<O, ?>, D extends Data<D, ?>> void basicTest(
77+
<O extends Options<?, ?>, D extends AbstractData<?, ?>> void basicTest(
7578
final String chartName,
7679
final Chart<?, O, D> chart,
7780
final O options,
@@ -133,7 +136,21 @@ static Stream<Arguments> basicTest()
133136
defaultData,
134137
ScatterData::new,
135138
ScatterDataset::new,
136-
entry -> new ScatterDataPoint(entry.getValue(), entry.getValue())))
139+
entry -> new ScatterDataPoint(entry.getValue(), entry.getValue()))),
140+
new ArgumentDTO<>(
141+
MixedChart::new,
142+
LineOptions::new,
143+
() -> new MixedData()
144+
.addLabels("A", "B", "C")
145+
.addDataset(new BarDataset()
146+
.withDefaultType()
147+
.setLabel("Dataset1")
148+
.setData(1, 3, 2))
149+
.addDataset(new LineDataset()
150+
.withDefaultType()
151+
.setLabel("Dataset2")
152+
.setData(1, 2, 3))
153+
)
137154
).map(dto ->
138155
Arguments.of(
139156
dto.chartSupplier().get().getClass().getSimpleName(),
@@ -142,15 +159,15 @@ static Stream<Arguments> basicTest()
142159
dto.dataSupplier().get()));
143160
}
144161

145-
private static <D extends Data<D, S>, S extends Dataset<S, BigDecimal>> Supplier<D> createData(
162+
private static <D extends HomogeneousData<D, S>, S extends Dataset<S, BigDecimal>> Supplier<D> createData(
146163
final Map<String, BigDecimal> defaultDataMap,
147164
final Supplier<D> dataSupplier,
148165
final Supplier<S> dataSetSupplier)
149166
{
150167
return createData(defaultDataMap, dataSupplier, dataSetSupplier, Map.Entry::getValue);
151168
}
152169

153-
private static <D extends Data<D, S>, S extends Dataset<S, O>, O> Supplier<D> createData(
170+
private static <D extends HomogeneousData<D, S>, S extends Dataset<S, O>, O> Supplier<D> createData(
154171
final Map<String, BigDecimal> defaultDataMap,
155172
final Supplier<D> dataSupplier,
156173
final Supplier<S> dataSetSupplier,
@@ -168,7 +185,7 @@ private static <D extends Data<D, S>, S extends Dataset<S, O>, O> Supplier<D> cr
168185
};
169186
}
170187

171-
public static class ArgumentDTO<O extends Options<O, ?>, D extends Data<D, ?>>
188+
public static class ArgumentDTO<O extends Options<?, ?>, D extends AbstractData<?, ?>>
172189
{
173190
private final Supplier<Chart<?, O, D>> chartSupplier;
174191
private final Supplier<O> optionsSupplier;
24.3 KB
Loading

0 commit comments

Comments
 (0)