Skip to content

Commit 226acd5

Browse files
NareshBabuPBzhendrikse
authored andcommitted
Bael-422 Vavr Collections (#2304)
* BAEL-422 Examples for tutorial on Vavr Collection API * Fixed as per review comments
1 parent ee6656a commit 226acd5

1 file changed

Lines changed: 57 additions & 38 deletions

File tree

vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java

Lines changed: 57 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
package com.baeldung.vavr.collections;
22

3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertFalse;
5+
import static org.junit.Assert.assertNotSame;
6+
import static org.junit.Assert.assertSame;
7+
import static org.junit.Assert.assertTrue;
8+
9+
import java.util.Comparator;
10+
import java.util.stream.Collectors;
11+
import java.util.stream.IntStream;
12+
13+
import org.junit.Test;
14+
15+
import io.vavr.Tuple;
316
import io.vavr.Tuple2;
417
import io.vavr.collection.Array;
518
import io.vavr.collection.CharSeq;
@@ -15,16 +28,6 @@
1528
import io.vavr.collection.TreeMap;
1629
import io.vavr.collection.TreeSet;
1730
import io.vavr.collection.Vector;
18-
import org.junit.Test;
19-
20-
import java.util.Comparator;
21-
import java.util.stream.Collectors;
22-
23-
import static org.junit.Assert.assertEquals;
24-
import static org.junit.Assert.assertFalse;
25-
import static org.junit.Assert.assertNotSame;
26-
import static org.junit.Assert.assertSame;
27-
import static org.junit.Assert.assertTrue;
2831

2932
public class CollectionAPIUnitTest {
3033

@@ -66,28 +69,16 @@ public void givenQueue_whenEnqueued_thenCorrect() {
6669
assertEquals(3, queue.size());
6770
assertEquals(5, secondQueue.size());
6871

69-
secondQueue.dequeue()
70-
.map((k, v) -> {
71-
assertEquals(new Integer(1), k);
72-
return v.dequeue();
73-
})
74-
.map((k, v) -> {
75-
assertEquals(new Integer(2), k);
76-
return v.dequeue();
77-
})
78-
.map((k, v) -> {
79-
assertEquals(new Integer(3), k);
80-
return v.dequeue();
81-
})
82-
.map((k, v) -> {
83-
assertEquals(new Integer(4), k);
84-
return v.dequeue();
85-
})
86-
.map((k, v) -> {
87-
assertEquals(new Integer(5), k);
88-
assertTrue(v.isEmpty());
89-
return null;
90-
});
72+
Tuple2<Integer, Queue<Integer>> result = secondQueue.dequeue();
73+
Integer headValue = result.apply((head, tail) -> head);
74+
assertEquals(new Integer(1), headValue);
75+
76+
Iterator<Integer> iterator = result.apply((head, tail) -> tail.iterator());
77+
78+
assertEquals(new Integer(2), iterator.next());
79+
assertEquals(new Integer(3), iterator.next());
80+
assertEquals(new Integer(4), iterator.next());
81+
assertEquals(new Integer(5), iterator.next());
9182
}
9283

9384
@Test
@@ -101,7 +92,7 @@ public void givenStream_whenProcessed_thenCorrect() {
10192
.sum()
10293
.longValue();
10394

104-
assertEquals(20L, evenSum);
95+
assertEquals(20, evenSum);
10596
assertEquals(new Integer(5), intStream.get(5));
10697
}
10798

@@ -169,8 +160,7 @@ public void givenSortedSet_whenIterated_thenCorrect() {
169160

170161
@Test
171162
public void givenSortedSet_whenReversed_thenCorrect() {
172-
Comparator<String> reverseCompare = Comparator.reverseOrder();
173-
SortedSet<String> set = TreeSet.of(reverseCompare, "Green", "Red", "Blue");
163+
SortedSet<String> set = TreeSet.of(Comparator.reverseOrder(), "Green", "Red", "Blue");
174164

175165
Iterator<String> iterator = set.iterator();
176166
assertEquals("Red", iterator.next());
@@ -212,18 +202,47 @@ public void givenJavaList_whenConverted_thenCorrect() {
212202
java.util.List<Integer> javaList = java.util.Arrays.asList(1, 2, 3, 4);
213203
List<Integer> vavrList = List.ofAll(javaList);
214204

215-
assertTrue(vavrList instanceof io.vavr.collection.List);
205+
assertEquals(4, vavrList.size());
206+
assertEquals(new Integer(1), vavrList.head());
216207

217208
java.util.stream.Stream<Integer> javaStream = javaList.stream();
218209
Set<Integer> vavrSet = HashSet.ofAll(javaStream);
219210

220-
assertTrue(vavrSet instanceof io.vavr.collection.Set);
211+
assertEquals(4, vavrSet.size());
212+
assertEquals(new Integer(2), vavrSet.tail()
213+
.head());
214+
}
215+
216+
@Test
217+
public void givenJavaStream_whenCollected_thenCorrect() {
218+
List<Integer> vavrList = IntStream.range(1, 10)
219+
.boxed()
220+
.filter(i -> i % 2 == 0)
221+
.collect(List.collector());
222+
223+
assertEquals(4, vavrList.size());
224+
assertEquals(new Integer(2), vavrList.head());
221225
}
222226

223227
@Test
224228
public void givenVavrList_whenConverted_thenCorrect() {
225-
java.util.Set<Integer> collect = List.of(1, 2, 3)
229+
Integer[] array = List.of(1, 2, 3)
230+
.toJavaArray(Integer.class);
231+
assertEquals(3, array.length);
232+
233+
java.util.Map<String, Integer> map = List.of("1", "2", "3")
234+
.toJavaMap(i -> Tuple.of(i, Integer.valueOf(i)));
235+
assertEquals(new Integer(2), map.get("2"));
236+
}
237+
238+
@Test
239+
public void givenVavrList_whenCollected_thenCorrect() {
240+
java.util.Set<Integer> javaSet = List.of(1, 2, 3)
226241
.collect(Collectors.toSet());
242+
243+
assertEquals(3, javaSet.size());
244+
assertEquals(new Integer(1), javaSet.iterator()
245+
.next());
227246
}
228247

229248
@Test

0 commit comments

Comments
 (0)