diff --git a/core-java-modules/core-java-collections-conversions-2/src/test/java/com/baeldung/strlisttointlist/StringListToIntListUnitTest.java b/core-java-modules/core-java-collections-conversions-2/src/test/java/com/baeldung/strlisttointlist/StringListToIntListUnitTest.java new file mode 100644 index 0000000000..a29f32aecc --- /dev/null +++ b/core-java-modules/core-java-collections-conversions-2/src/test/java/com/baeldung/strlisttointlist/StringListToIntListUnitTest.java @@ -0,0 +1,46 @@ +package com.baeldung.strlisttointlist; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; + +import com.google.common.base.Function; +import com.google.common.collect.Lists; + +public class StringListToIntListUnitTest { + private final static List STRING_LIST = Arrays.asList("1", "2", "3", "4", "5", "6", "7"); + private final static List EXPECTED_LIST = Arrays.asList(1, 2, 3, 4, 5, 6, 7); + + @Test + void whenUsingStream_thenGetExpectedIntegerList() { + List result = STRING_LIST.stream() + .map(Integer::valueOf) + .collect(Collectors.toList()); + assertEquals(EXPECTED_LIST, result); + } + + @Test + void whenUsingLoop_thenGetExpectedIntegerList() { + List result = new ArrayList<>(STRING_LIST.size()); + for (String s : STRING_LIST) { + result.add(Integer.valueOf(s)); + } + assertEquals(EXPECTED_LIST, result); + } + + @Test + void whenUsingGuava_thenGetExpectedIntegerList() { + List result = Lists.transform(STRING_LIST, new Function() { + @Override + public Integer apply(String input) { + return Integer.valueOf(input); + } + }); + assertEquals(EXPECTED_LIST, result); + } +} \ No newline at end of file