From 0648a4f91852d141014b0c8170c6ecad47b7f701 Mon Sep 17 00:00:00 2001 From: "Kai.Yuan" Date: Sat, 24 Feb 2024 10:18:09 +0800 Subject: [PATCH] [modify-print-list] modify + print a list --- .../core-java-collections-list-6/pom.xml | 2 +- .../ModifyAndPrintListElementsUnitTest.java | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 core-java-modules/core-java-collections-list-6/src/test/java/com/baeldung/modifyandprint/ModifyAndPrintListElementsUnitTest.java diff --git a/core-java-modules/core-java-collections-list-6/pom.xml b/core-java-modules/core-java-collections-list-6/pom.xml index 18a153ff06..06e00e8dce 100644 --- a/core-java-modules/core-java-collections-list-6/pom.xml +++ b/core-java-modules/core-java-collections-list-6/pom.xml @@ -29,4 +29,4 @@ 0.10.4 - \ No newline at end of file + diff --git a/core-java-modules/core-java-collections-list-6/src/test/java/com/baeldung/modifyandprint/ModifyAndPrintListElementsUnitTest.java b/core-java-modules/core-java-collections-list-6/src/test/java/com/baeldung/modifyandprint/ModifyAndPrintListElementsUnitTest.java new file mode 100644 index 0000000000..7d82873103 --- /dev/null +++ b/core-java-modules/core-java-collections-list-6/src/test/java/com/baeldung/modifyandprint/ModifyAndPrintListElementsUnitTest.java @@ -0,0 +1,56 @@ +package com.baeldung.modifyandprint; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.collect.Lists; + +public class ModifyAndPrintListElementsUnitTest { + + private final Logger log = LoggerFactory.getLogger(ModifyAndPrintListElementsUnitTest.class); + + @Test + void whenPrintingInForEach_thenListIsPrinted() { + List theList = Lists.newArrayList("Kai", "Liam", "Eric", "Kevin"); + theList.forEach(e -> log.info(e)); + } + + @Test + void whenUsingModifyAndPrintingSeparately_thenListIsModifiedAndPrinted() { + List theList = Lists.newArrayList("Kai", "Liam", "Eric", "Kevin"); + theList.replaceAll(e -> e.toUpperCase()); + theList.forEach(e -> log.info(e)); + assertEquals(List.of("KAI", "LIAM", "ERIC", "KEVIN"), theList); + } + + @Test + void whenPrintingInMap_thenStreamIsModifiedAndPrinted() { + List theList = List.of("Kai", "Liam", "Eric", "Kevin"); + List newList = theList.stream() + .map(e -> { + String newElement = e.toUpperCase(); + log.info(newElement); + return newElement; + }) + .filter(e -> e.length() == 4) + .collect(Collectors.toList()); + assertEquals(List.of("LIAM", "ERIC"), newList); + } + + @Test + void whenPrintingInPeek_thenStreamIsModifiedAndPrinted() { + List theList = List.of("Kai", "Liam", "Eric", "Kevin"); + List newList = theList.stream() + .map(e -> e.toUpperCase()) + .peek(e -> log.info(e)) + .filter(e -> e.length() == 4) + .collect(Collectors.toList()); + assertEquals(List.of("LIAM", "ERIC"), newList); + } +} \ No newline at end of file