1
1
package de .befrish .jqwik .vavr ;
2
2
3
- import de .befrish .jqwik .vavr .arbitraries .VavrArrayArbitrary ;
4
- import de .befrish .jqwik .vavr .arbitraries .VavrBitSetArbitrary ;
5
- import de .befrish .jqwik .vavr .arbitraries .VavrCharSeqArbitrary ;
6
- import de .befrish .jqwik .vavr .arbitraries .VavrEitherArbitrary ;
7
- import de .befrish .jqwik .vavr .arbitraries .VavrFutureArbitrary ;
8
- import de .befrish .jqwik .vavr .arbitraries .VavrHashSetArbitrary ;
9
- import de .befrish .jqwik .vavr .arbitraries .VavrIteratorArbitrary ;
3
+ import de .befrish .jqwik .vavr .arbitraries .collection .map .VavrHashMultimapArbitrary ;
4
+ import de .befrish .jqwik .vavr .arbitraries .collection .map .VavrLinkedHashMultimapArbitrary ;
5
+ import de .befrish .jqwik .vavr .arbitraries .collection .map .VavrTreeMultimapArbitrary ;
6
+ import de .befrish .jqwik .vavr .arbitraries .collection .seq .VavrArrayArbitrary ;
7
+ import de .befrish .jqwik .vavr .arbitraries .collection .set .VavrBitSetArbitrary ;
8
+ import de .befrish .jqwik .vavr .arbitraries .collection .seq .VavrCharSeqArbitrary ;
9
+ import de .befrish .jqwik .vavr .arbitraries .control .VavrEitherArbitrary ;
10
+ import de .befrish .jqwik .vavr .arbitraries .concurrent .VavrFutureArbitrary ;
11
+ import de .befrish .jqwik .vavr .arbitraries .collection .map .VavrHashMapArbitrary ;
12
+ import de .befrish .jqwik .vavr .arbitraries .collection .set .VavrHashSetArbitrary ;
13
+ import de .befrish .jqwik .vavr .arbitraries .collection .VavrIteratorArbitrary ;
10
14
import de .befrish .jqwik .vavr .arbitraries .VavrLazyArbitrary ;
11
- import de .befrish .jqwik .vavr .arbitraries .VavrLinkedHashSetArbitrary ;
12
- import de .befrish .jqwik .vavr .arbitraries .VavrListArbitrary ;
13
- import de .befrish .jqwik .vavr .arbitraries .VavrOptionArbitrary ;
14
- import de .befrish .jqwik .vavr .arbitraries .VavrPriorityQueueArbitrary ;
15
- import de .befrish .jqwik .vavr .arbitraries .VavrQueueArbitrary ;
16
- import de .befrish .jqwik .vavr .arbitraries .VavrStreamArbitrary ;
17
- import de .befrish .jqwik .vavr .arbitraries .VavrTreeArbitrary ;
18
- import de .befrish .jqwik .vavr .arbitraries .VavrTreeSetArbitrary ;
19
- import de .befrish .jqwik .vavr .arbitraries .VavrTryArbitrary ;
20
- import de .befrish .jqwik .vavr .arbitraries .VavrValidationArbitrary ;
21
- import de .befrish .jqwik .vavr .arbitraries .VavrVectorArbitrary ;
15
+ import de .befrish .jqwik .vavr .arbitraries .collection .map .VavrLinkedHashMapArbitrary ;
16
+ import de .befrish .jqwik .vavr .arbitraries .collection .set .VavrLinkedHashSetArbitrary ;
17
+ import de .befrish .jqwik .vavr .arbitraries .collection .seq .VavrListArbitrary ;
18
+ import de .befrish .jqwik .vavr .arbitraries .control .VavrOptionArbitrary ;
19
+ import de .befrish .jqwik .vavr .arbitraries .collection .queue .VavrPriorityQueueArbitrary ;
20
+ import de .befrish .jqwik .vavr .arbitraries .collection .queue .VavrQueueArbitrary ;
21
+ import de .befrish .jqwik .vavr .arbitraries .collection .VavrStreamArbitrary ;
22
+ import de .befrish .jqwik .vavr .arbitraries .collection .VavrTreeArbitrary ;
23
+ import de .befrish .jqwik .vavr .arbitraries .collection .map .VavrTreeMapArbitrary ;
24
+ import de .befrish .jqwik .vavr .arbitraries .collection .set .VavrTreeSetArbitrary ;
25
+ import de .befrish .jqwik .vavr .arbitraries .control .VavrTryArbitrary ;
26
+ import de .befrish .jqwik .vavr .arbitraries .control .VavrValidationArbitrary ;
27
+ import de .befrish .jqwik .vavr .arbitraries .collection .seq .VavrVectorArbitrary ;
22
28
import io .vavr .collection .Array ;
23
29
import io .vavr .collection .BitSet ;
24
30
import io .vavr .collection .CharSeq ;
31
+ import io .vavr .collection .HashMap ;
32
+ import io .vavr .collection .HashMultimap ;
25
33
import io .vavr .collection .HashSet ;
26
34
import io .vavr .collection .IndexedSeq ;
27
35
import io .vavr .collection .Iterator ;
28
36
import io .vavr .collection .LinearSeq ;
37
+ import io .vavr .collection .LinkedHashMap ;
38
+ import io .vavr .collection .LinkedHashMultimap ;
29
39
import io .vavr .collection .LinkedHashSet ;
30
40
import io .vavr .collection .List ;
41
+ import io .vavr .collection .Map ;
42
+ import io .vavr .collection .Multimap ;
31
43
import io .vavr .collection .PriorityQueue ;
32
44
import io .vavr .collection .Queue ;
33
45
import io .vavr .collection .Seq ;
34
46
import io .vavr .collection .Set ;
47
+ import io .vavr .collection .SortedMap ;
48
+ import io .vavr .collection .SortedMultimap ;
35
49
import io .vavr .collection .Stream ;
36
50
import io .vavr .collection .Tree ;
51
+ import io .vavr .collection .TreeMap ;
52
+ import io .vavr .collection .TreeMultimap ;
37
53
import io .vavr .collection .TreeSet ;
38
54
import io .vavr .collection .Vector ;
39
55
import net .jqwik .api .Arbitrary ;
56
+ import net .jqwik .api .arbitraries .SizableArbitrary ;
40
57
import net .jqwik .api .arbitraries .StreamableArbitrary ;
41
58
42
- import java .util .ArrayList ;
43
59
import java .util .Comparator ;
44
60
45
61
public final class VavrArbitraries {
@@ -156,6 +172,56 @@ public static <T> StreamableArbitrary<T, Tree<T>> tree(final Arbitrary<T> elemen
156
172
return new VavrTreeArbitrary <>(elementArbitrary , elementArbitrary .isUnique ());
157
173
}
158
174
175
+ public static <K , V > SizableArbitrary <HashMap <K , V >> hashMap (
176
+ final Arbitrary <K > keysArbitrary ,
177
+ final Arbitrary <V > valuesArbitrary ) {
178
+ return new VavrHashMapArbitrary <>(keysArbitrary , valuesArbitrary );
179
+ }
180
+
181
+ public static <K , V > SizableArbitrary <LinkedHashMap <K , V >> linkedHashMap (
182
+ final Arbitrary <K > keysArbitrary ,
183
+ final Arbitrary <V > valuesArbitrary ) {
184
+ return new VavrLinkedHashMapArbitrary <>(keysArbitrary , valuesArbitrary );
185
+ }
186
+
187
+ public static <K , V > SizableArbitrary <TreeMap <K , V >> treeMap (
188
+ final Arbitrary <K > keysArbitrary ,
189
+ final Arbitrary <V > valuesArbitrary ) {
190
+ return new VavrTreeMapArbitrary <>(keysArbitrary , valuesArbitrary );
191
+ }
192
+
193
+ public static <K , V > SizableArbitrary <TreeMap <K , V >> treeMap (
194
+ final Arbitrary <K > keysArbitrary ,
195
+ final Arbitrary <V > valuesArbitrary ,
196
+ final Comparator <K > keyComparator ) {
197
+ return new VavrTreeMapArbitrary <>(keysArbitrary , valuesArbitrary , keyComparator );
198
+ }
199
+
200
+ public static <K , V > SizableArbitrary <HashMultimap <K , V >> hashMultimap (
201
+ final Arbitrary <K > keysArbitrary ,
202
+ final Arbitrary <V > valuesArbitrary ) {
203
+ return new VavrHashMultimapArbitrary <>(keysArbitrary , valuesArbitrary );
204
+ }
205
+
206
+ public static <K , V > SizableArbitrary <LinkedHashMultimap <K , V >> linkedHashMultimap (
207
+ final Arbitrary <K > keysArbitrary ,
208
+ final Arbitrary <V > valuesArbitrary ) {
209
+ return new VavrLinkedHashMultimapArbitrary <>(keysArbitrary , valuesArbitrary );
210
+ }
211
+
212
+ public static <K , V > SizableArbitrary <TreeMultimap <K , V >> treeMultimap (
213
+ final Arbitrary <K > keysArbitrary ,
214
+ final Arbitrary <V > valuesArbitrary ) {
215
+ return new VavrTreeMultimapArbitrary <>(keysArbitrary , valuesArbitrary );
216
+ }
217
+
218
+ public static <K , V > SizableArbitrary <TreeMultimap <K , V >> treeMultimap (
219
+ final Arbitrary <K > keysArbitrary ,
220
+ final Arbitrary <V > valuesArbitrary ,
221
+ final Comparator <K > keyComparator ) {
222
+ return new VavrTreeMultimapArbitrary <>(keysArbitrary , valuesArbitrary , keyComparator );
223
+ }
224
+
159
225
/*
160
226
* Interfaces
161
227
*/
@@ -181,4 +247,28 @@ public static <T extends Comparable<T>> StreamableArbitrary<T, TreeSet<T>> sorte
181
247
return treeSet (elementArbitrary );
182
248
}
183
249
250
+ public static <K , V > SizableArbitrary <? extends Map <K , V >> map (
251
+ final Arbitrary <K > keysArbitrary ,
252
+ final Arbitrary <V > valuesArbitrary ) {
253
+ return hashMap (keysArbitrary , valuesArbitrary );
254
+ }
255
+
256
+ public static <K , V > SizableArbitrary <? extends SortedMap <K , V >> sortedMap (
257
+ final Arbitrary <K > keysArbitrary ,
258
+ final Arbitrary <V > valuesArbitrary ) {
259
+ return treeMap (keysArbitrary , valuesArbitrary );
260
+ }
261
+
262
+ public static <K , V > SizableArbitrary <? extends Multimap <K , V >> multimap (
263
+ final Arbitrary <K > keysArbitrary ,
264
+ final Arbitrary <V > valuesArbitrary ) {
265
+ return hashMultimap (keysArbitrary , valuesArbitrary );
266
+ }
267
+
268
+ public static <K , V > SizableArbitrary <? extends SortedMultimap <K , V >> sortedMultimap (
269
+ final Arbitrary <K > keysArbitrary ,
270
+ final Arbitrary <V > valuesArbitrary ) {
271
+ return treeMultimap (keysArbitrary , valuesArbitrary );
272
+ }
273
+
184
274
}
0 commit comments