diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java b/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java index e90f54a..097c8c6 100644 --- a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java +++ b/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java @@ -32,15 +32,18 @@ import software.xdev.chartjs.model.charts.Chart; import software.xdev.chartjs.model.charts.DoughnutChart; import software.xdev.chartjs.model.charts.LineChart; +import software.xdev.chartjs.model.charts.MixedChart; import software.xdev.chartjs.model.charts.PieChart; import software.xdev.chartjs.model.charts.PolarChart; import software.xdev.chartjs.model.charts.RadarChart; import software.xdev.chartjs.model.charts.ScatterChart; +import software.xdev.chartjs.model.data.AbstractData; import software.xdev.chartjs.model.data.BarData; import software.xdev.chartjs.model.data.BubbleData; -import software.xdev.chartjs.model.data.Data; import software.xdev.chartjs.model.data.DoughnutData; +import software.xdev.chartjs.model.data.HomogeneousData; import software.xdev.chartjs.model.data.LineData; +import software.xdev.chartjs.model.data.MixedData; import software.xdev.chartjs.model.data.PieData; import software.xdev.chartjs.model.data.PolarData; import software.xdev.chartjs.model.data.RadarData; @@ -71,7 +74,7 @@ class BasicChartTest extends AbstractChartTest { @ParameterizedTest(name = "Check if basic {0} is displayed correctly") @MethodSource - , D extends Data> void basicTest( + , D extends AbstractData> void basicTest( final String chartName, final Chart chart, final O options, @@ -133,7 +136,21 @@ static Stream basicTest() defaultData, ScatterData::new, ScatterDataset::new, - entry -> new ScatterDataPoint(entry.getValue(), entry.getValue()))) + entry -> new ScatterDataPoint(entry.getValue(), entry.getValue()))), + new ArgumentDTO<>( + MixedChart::new, + LineOptions::new, + () -> new MixedData() + .addLabels("A", "B", "C") + .addDataset(new BarDataset() + .withDefaultType() + .setLabel("Dataset1") + .setData(1, 3, 2)) + .addDataset(new LineDataset() + .withDefaultType() + .setLabel("Dataset2") + .setData(1, 2, 3)) + ) ).map(dto -> Arguments.of( dto.chartSupplier().get().getClass().getSimpleName(), @@ -142,7 +159,7 @@ static Stream basicTest() dto.dataSupplier().get())); } - private static , S extends Dataset> Supplier createData( + private static , S extends Dataset> Supplier createData( final Map defaultDataMap, final Supplier dataSupplier, final Supplier dataSetSupplier) @@ -150,7 +167,7 @@ private static , S extends Dataset> Supplier return createData(defaultDataMap, dataSupplier, dataSetSupplier, Map.Entry::getValue); } - private static , S extends Dataset, O> Supplier createData( + private static , S extends Dataset, O> Supplier createData( final Map defaultDataMap, final Supplier dataSupplier, final Supplier dataSetSupplier, @@ -168,7 +185,7 @@ private static , S extends Dataset, O> Supplier cr }; } - public static class ArgumentDTO, D extends Data> + public static class ArgumentDTO, D extends AbstractData> { private final Supplier> chartSupplier; private final Supplier optionsSupplier; diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png b/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png new file mode 100644 index 0000000..b75a9dc Binary files /dev/null and b/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png differ