32
32
import software .xdev .chartjs .model .charts .Chart ;
33
33
import software .xdev .chartjs .model .charts .DoughnutChart ;
34
34
import software .xdev .chartjs .model .charts .LineChart ;
35
+ import software .xdev .chartjs .model .charts .MixedChart ;
35
36
import software .xdev .chartjs .model .charts .PieChart ;
36
37
import software .xdev .chartjs .model .charts .PolarChart ;
37
38
import software .xdev .chartjs .model .charts .RadarChart ;
38
39
import software .xdev .chartjs .model .charts .ScatterChart ;
40
+ import software .xdev .chartjs .model .data .AbstractData ;
39
41
import software .xdev .chartjs .model .data .BarData ;
40
42
import software .xdev .chartjs .model .data .BubbleData ;
41
- import software .xdev .chartjs .model .data .Data ;
42
43
import software .xdev .chartjs .model .data .DoughnutData ;
44
+ import software .xdev .chartjs .model .data .HomogeneousData ;
43
45
import software .xdev .chartjs .model .data .LineData ;
46
+ import software .xdev .chartjs .model .data .MixedData ;
44
47
import software .xdev .chartjs .model .data .PieData ;
45
48
import software .xdev .chartjs .model .data .PolarData ;
46
49
import software .xdev .chartjs .model .data .RadarData ;
@@ -71,7 +74,7 @@ class BasicChartTest extends AbstractChartTest
71
74
{
72
75
@ ParameterizedTest (name = "Check if basic {0} is displayed correctly" )
73
76
@ MethodSource
74
- <O extends Options <O , ?>, D extends Data < D , ?>> void basicTest (
77
+ <O extends Options <? , ?>, D extends AbstractData <? , ?>> void basicTest (
75
78
final String chartName ,
76
79
final Chart <?, O , D > chart ,
77
80
final O options ,
@@ -133,7 +136,21 @@ static Stream<Arguments> basicTest()
133
136
defaultData ,
134
137
ScatterData ::new ,
135
138
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
+ )
137
154
).map (dto ->
138
155
Arguments .of (
139
156
dto .chartSupplier ().get ().getClass ().getSimpleName (),
@@ -142,15 +159,15 @@ static Stream<Arguments> basicTest()
142
159
dto .dataSupplier ().get ()));
143
160
}
144
161
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 (
146
163
final Map <String , BigDecimal > defaultDataMap ,
147
164
final Supplier <D > dataSupplier ,
148
165
final Supplier <S > dataSetSupplier )
149
166
{
150
167
return createData (defaultDataMap , dataSupplier , dataSetSupplier , Map .Entry ::getValue );
151
168
}
152
169
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 (
154
171
final Map <String , BigDecimal > defaultDataMap ,
155
172
final Supplier <D > dataSupplier ,
156
173
final Supplier <S > dataSetSupplier ,
@@ -168,7 +185,7 @@ private static <D extends Data<D, S>, S extends Dataset<S, O>, O> Supplier<D> cr
168
185
};
169
186
}
170
187
171
- public static class ArgumentDTO <O extends Options <O , ?>, D extends Data < D , ?>>
188
+ public static class ArgumentDTO <O extends Options <? , ?>, D extends AbstractData <? , ?>>
172
189
{
173
190
private final Supplier <Chart <?, O , D >> chartSupplier ;
174
191
private final Supplier <O > optionsSupplier ;
0 commit comments