From 489e0e012fd9348ea21eb5dbdce7aa54a788215b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Ju=C3=A1rez?= Date: Sun, 21 May 2017 21:06:05 -0500 Subject: [PATCH] BAEL-886 How to add a single element to a Stream (#1887) --- .../baeldung/stream/StreamAddUnitTest.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 core-java/src/test/java/com/baeldung/stream/StreamAddUnitTest.java diff --git a/core-java/src/test/java/com/baeldung/stream/StreamAddUnitTest.java b/core-java/src/test/java/com/baeldung/stream/StreamAddUnitTest.java new file mode 100644 index 0000000000..8176d6a60c --- /dev/null +++ b/core-java/src/test/java/com/baeldung/stream/StreamAddUnitTest.java @@ -0,0 +1,46 @@ +package com.baeldung.stream; + +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +public class StreamAddUnitTest { + + @Test + public void givenStream_whenAppendingObject_thenAppended() { + Stream anStream = Stream.of("a", "b", "c", "d", "e"); + + Stream newStream = Stream.concat(anStream, Stream.of("A")); + + List resultList = newStream.collect(Collectors.toList()); + assertEquals(resultList.get(resultList.size() - 1), "A"); + } + + @Test + public void givenStream_whenPrependingObject_thenPrepended() { + Stream anStream = Stream.of(1, 2, 3, 4, 5); + + Stream newStream = Stream.concat(Stream.of(99), anStream); + + assertEquals(newStream.findFirst() + .get(), (Integer) 99); + } + + @Test + public void givenStream_whenInsertingObject_thenInserted() { + Stream anStream = Stream.of(1.1, 2.2, 3.3); + + Stream newStream = insertInStream(anStream, 9.9, 3); + + List resultList = newStream.collect(Collectors.toList()); + assertEquals(resultList.get(3), (Double) 9.9); + } + + public Stream insertInStream(Stream stream, T elem, int index) { + List result = stream.collect(Collectors.toList()); + result.add(index, elem); + return result.stream(); + } +}