diff --git a/vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java b/vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java index 8b05b5a230..9f0c48e3ee 100644 --- a/vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java +++ b/vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java @@ -1,5 +1,18 @@ package com.baeldung.vavr.collections; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; + +import java.util.Comparator; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +import org.junit.Test; + +import io.vavr.Tuple; import io.vavr.Tuple2; import io.vavr.collection.Array; import io.vavr.collection.CharSeq; @@ -15,16 +28,6 @@ import io.vavr.collection.Stream; import io.vavr.collection.TreeMap; import io.vavr.collection.TreeSet; import io.vavr.collection.Vector; -import org.junit.Test; - -import java.util.Comparator; -import java.util.stream.Collectors; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; public class CollectionAPIUnitTest { @@ -66,28 +69,16 @@ public class CollectionAPIUnitTest { assertEquals(3, queue.size()); assertEquals(5, secondQueue.size()); - secondQueue.dequeue() - .map((k, v) -> { - assertEquals(new Integer(1), k); - return v.dequeue(); - }) - .map((k, v) -> { - assertEquals(new Integer(2), k); - return v.dequeue(); - }) - .map((k, v) -> { - assertEquals(new Integer(3), k); - return v.dequeue(); - }) - .map((k, v) -> { - assertEquals(new Integer(4), k); - return v.dequeue(); - }) - .map((k, v) -> { - assertEquals(new Integer(5), k); - assertTrue(v.isEmpty()); - return null; - }); + Tuple2> result = secondQueue.dequeue(); + Integer headValue = result.apply((head, tail) -> head); + assertEquals(new Integer(1), headValue); + + Iterator iterator = result.apply((head, tail) -> tail.iterator()); + + assertEquals(new Integer(2), iterator.next()); + assertEquals(new Integer(3), iterator.next()); + assertEquals(new Integer(4), iterator.next()); + assertEquals(new Integer(5), iterator.next()); } @Test @@ -101,7 +92,7 @@ public class CollectionAPIUnitTest { .sum() .longValue(); - assertEquals(20L, evenSum); + assertEquals(20, evenSum); assertEquals(new Integer(5), intStream.get(5)); } @@ -169,8 +160,7 @@ public class CollectionAPIUnitTest { @Test public void givenSortedSet_whenReversed_thenCorrect() { - Comparator reverseCompare = Comparator.reverseOrder(); - SortedSet set = TreeSet.of(reverseCompare, "Green", "Red", "Blue"); + SortedSet set = TreeSet.of(Comparator.reverseOrder(), "Green", "Red", "Blue"); Iterator iterator = set.iterator(); assertEquals("Red", iterator.next()); @@ -212,18 +202,47 @@ public class CollectionAPIUnitTest { java.util.List javaList = java.util.Arrays.asList(1, 2, 3, 4); List vavrList = List.ofAll(javaList); - assertTrue(vavrList instanceof io.vavr.collection.List); + assertEquals(4, vavrList.size()); + assertEquals(new Integer(1), vavrList.head()); java.util.stream.Stream javaStream = javaList.stream(); Set vavrSet = HashSet.ofAll(javaStream); - assertTrue(vavrSet instanceof io.vavr.collection.Set); + assertEquals(4, vavrSet.size()); + assertEquals(new Integer(2), vavrSet.tail() + .head()); + } + + @Test + public void givenJavaStream_whenCollected_thenCorrect() { + List vavrList = IntStream.range(1, 10) + .boxed() + .filter(i -> i % 2 == 0) + .collect(List.collector()); + + assertEquals(4, vavrList.size()); + assertEquals(new Integer(2), vavrList.head()); } @Test public void givenVavrList_whenConverted_thenCorrect() { - java.util.Set collect = List.of(1, 2, 3) + Integer[] array = List.of(1, 2, 3) + .toJavaArray(Integer.class); + assertEquals(3, array.length); + + java.util.Map map = List.of("1", "2", "3") + .toJavaMap(i -> Tuple.of(i, Integer.valueOf(i))); + assertEquals(new Integer(2), map.get("2")); + } + + @Test + public void givenVavrList_whenCollected_thenCorrect() { + java.util.Set javaSet = List.of(1, 2, 3) .collect(Collectors.toSet()); + + assertEquals(3, javaSet.size()); + assertEquals(new Integer(1), javaSet.iterator() + .next()); } @Test