diff --git a/core-java/src/test/java/org/baeldung/java/collections/JoinSplitCollectionsUnitTest.java b/core-java/src/test/java/org/baeldung/java/collections/JoinSplitCollectionsUnitTest.java index d2615a4985..7efc2ab9de 100644 --- a/core-java/src/test/java/org/baeldung/java/collections/JoinSplitCollectionsUnitTest.java +++ b/core-java/src/test/java/org/baeldung/java/collections/JoinSplitCollectionsUnitTest.java @@ -1,31 +1,24 @@ package org.baeldung.java.collections; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import org.junit.Test; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.junit.Test; +import static org.junit.Assert.*; public class JoinSplitCollectionsUnitTest { @Test public void whenJoiningTwoArrays_thenJoined() { - String[] animals1 = new String[] { "Dog", "Cat" }; - String[] animals2 = new String[] { "Bird", "Cow" }; + String[] animals1 = new String[]{"Dog", "Cat"}; + String[] animals2 = new String[]{"Bird", "Cow"}; String[] result = Stream.concat(Arrays.stream(animals1), Arrays.stream(animals2)) - .toArray(String[]::new); - - assertArrayEquals(result, new String[] { "Dog", "Cat", "Bird", "Cow" }); + .toArray(String[]::new); + + assertArrayEquals(result, new String[]{"Dog", "Cat", "Bird", "Cow"}); } @Test @@ -33,8 +26,8 @@ public class JoinSplitCollectionsUnitTest { Collection collection1 = Arrays.asList(7, 8, 9); Collection collection2 = Arrays.asList(10, 11, 12); Collection result = Stream.concat(collection1.stream(), collection2.stream()) - .collect(Collectors.toList()); - + .collect(Collectors.toList()); + assertTrue(result.equals(Arrays.asList(7, 8, 9, 10, 11, 12))); } @@ -43,18 +36,18 @@ public class JoinSplitCollectionsUnitTest { Collection collection1 = Arrays.asList(7, 8, 11); Collection collection2 = Arrays.asList(9, 12, 10); Collection result = Stream.concat(collection1.stream(), collection2.stream()) - .filter(next -> next <= 10) - .collect(Collectors.toList()); - + .filter(next -> next <= 10) + .collect(Collectors.toList()); + assertTrue(result.equals(Arrays.asList(7, 8, 9, 10))); } @Test public void whenConvertArrayToString_thenConverted() { - String[] colors = new String[] { "Red", "Blue", "Green", "Yellow" }; + String[] colors = new String[]{"Red", "Blue", "Green", "Yellow"}; String result = Arrays.stream(colors) - .collect(Collectors.joining(", ")); - + .collect(Collectors.joining(", ")); + assertEquals(result, "Red, Blue, Green, Yellow"); } @@ -62,8 +55,8 @@ public class JoinSplitCollectionsUnitTest { public void whenConvertCollectionToString_thenConverted() { Collection directions = Arrays.asList("Left", "Right", "Top", "Bottom"); String result = directions.stream() - .collect(Collectors.joining(", ")); - + .collect(Collectors.joining(", ")); + assertEquals(result, "Left, Right, Top, Bottom"); } @@ -73,11 +66,11 @@ public class JoinSplitCollectionsUnitTest { users.put(1, "John Doe"); users.put(2, "Paul Smith"); users.put(3, "Susan Anderson"); - + String result = users.entrySet().stream() - .map(entry -> entry.getKey() + " = " + entry.getValue()) - .collect(Collectors.joining(", ")); - + .map(entry -> entry.getKey() + " = " + entry.getValue()) + .collect(Collectors.joining(", ")); + assertEquals(result, "1 = John Doe, 2 = Paul Smith, 3 = Susan Anderson"); } @@ -86,12 +79,12 @@ public class JoinSplitCollectionsUnitTest { Collection> nested = new ArrayList<>(); nested.add(Arrays.asList("Left", "Right", "Top", "Bottom")); nested.add(Arrays.asList("Red", "Blue", "Green", "Yellow")); - + String result = nested.stream() - .map(nextList -> nextList.stream() - .collect(Collectors.joining("-"))) - .collect(Collectors.joining("; ")); - + .map(nextList -> nextList.stream() + .collect(Collectors.joining("-"))) + .collect(Collectors.joining("; ")); + assertEquals(result, "Left-Right-Top-Bottom; Red-Blue-Green-Yellow"); } @@ -99,9 +92,9 @@ public class JoinSplitCollectionsUnitTest { public void whenConvertCollectionToStringAndSkipNull_thenConverted() { Collection fruits = Arrays.asList("Apple", "Orange", null, "Grape"); String result = fruits.stream() - .filter(next -> next != null) - .collect(Collectors.joining(", ")); - + .filter(Objects::nonNull) + .collect(Collectors.joining(", ")); + assertEquals(result, "Apple, Orange, Grape"); } @@ -112,7 +105,7 @@ public class JoinSplitCollectionsUnitTest { Collection result2 = new ArrayList<>(); AtomicInteger count = new AtomicInteger(); int midpoint = Math.round(numbers.size() / 2); - + numbers.forEach(next -> { int index = count.getAndIncrement(); if (index < midpoint) { @@ -121,17 +114,17 @@ public class JoinSplitCollectionsUnitTest { result2.add(next); } }); - + assertTrue(result1.equals(Arrays.asList(1, 2, 3, 4, 5))); assertTrue(result2.equals(Arrays.asList(6, 7, 8, 9, 10))); } @Test public void whenSplitArrayByWordLength_thenConverted() { - String[] words = new String[] { "bye", "cold", "it", "and", "my", "word" }; + String[] words = new String[]{"bye", "cold", "it", "and", "my", "word"}; Map> result = Arrays.stream(words) - .collect(Collectors.groupingBy(word -> word.length())); - + .collect(Collectors.groupingBy(String::length)); + assertTrue(result.get(2).equals(Arrays.asList("it", "my"))); assertTrue(result.get(3).equals(Arrays.asList("bye", "and"))); assertTrue(result.get(4).equals(Arrays.asList("cold", "word"))); @@ -141,26 +134,26 @@ public class JoinSplitCollectionsUnitTest { public void whenConvertStringToArray_thenConverted() { String colors = "Red, Blue, Green, Yellow"; String[] result = colors.split(", "); - - assertArrayEquals(result, new String[] { "Red", "Blue", "Green", "Yellow" }); + + assertArrayEquals(result, new String[]{"Red", "Blue", "Green", "Yellow"}); } @Test public void whenConvertStringToCollection_thenConverted() { String colors = "Left, Right, Top, Bottom"; Collection result = Arrays.asList(colors.split(", ")); - + assertTrue(result.equals(Arrays.asList("Left", "Right", "Top", "Bottom"))); } @Test public void whenConvertStringToMap_thenConverted() { String users = "1 = John Doe, 2 = Paul Smith, 3 = Susan Anderson"; - + Map result = Arrays.stream(users.split(", ")) - .map(next -> next.split(" = ")) - .collect(Collectors.toMap(entry -> Integer.parseInt(entry[0]), entry -> entry[1])); - + .map(next -> next.split(" = ")) + .collect(Collectors.toMap(entry -> Integer.parseInt(entry[0]), entry -> entry[1])); + assertEquals(result.get(1), "John Doe"); assertEquals(result.get(2), "Paul Smith"); assertEquals(result.get(3), "Susan Anderson"); @@ -169,12 +162,12 @@ public class JoinSplitCollectionsUnitTest { @Test public void whenConvertCollectionToStringMultipleSeparators_thenConverted() { String fruits = "Apple. , Orange, Grape. Lemon"; - + Collection result = Arrays.stream(fruits.split("[,|.]")) - .map(String::trim) - .filter(next -> !next.isEmpty()) - .collect(Collectors.toList()); - + .map(String::trim) + .filter(next -> !next.isEmpty()) + .collect(Collectors.toList()); + assertTrue(result.equals(Arrays.asList("Apple", "Orange", "Grape", "Lemon"))); } }