3232import software .xdev .chartjs .model .charts .Chart ;
3333import software .xdev .chartjs .model .charts .DoughnutChart ;
3434import software .xdev .chartjs .model .charts .LineChart ;
35+ import software .xdev .chartjs .model .charts .MixedChart ;
3536import software .xdev .chartjs .model .charts .PieChart ;
3637import software .xdev .chartjs .model .charts .PolarChart ;
3738import software .xdev .chartjs .model .charts .RadarChart ;
3839import software .xdev .chartjs .model .charts .ScatterChart ;
40+ import software .xdev .chartjs .model .data .AbstractData ;
3941import software .xdev .chartjs .model .data .BarData ;
4042import software .xdev .chartjs .model .data .BubbleData ;
41- import software .xdev .chartjs .model .data .Data ;
4243import software .xdev .chartjs .model .data .DoughnutData ;
44+ import software .xdev .chartjs .model .data .HomogeneousData ;
4345import software .xdev .chartjs .model .data .LineData ;
46+ import software .xdev .chartjs .model .data .MixedData ;
4447import software .xdev .chartjs .model .data .PieData ;
4548import software .xdev .chartjs .model .data .PolarData ;
4649import 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 ;
0 commit comments