Files
java-tutorials/java-strings/src/test/java/com/baeldung/string/StringToCharStreamUnitTest.java
T

60 lines
1.9 KiB
Java
Raw Normal View History

2017-06-09 13:32:20 +01:00
package com.baeldung.string;
import org.junit.Test;
2017-06-15 16:13:51 +02:00
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
2017-06-09 13:32:20 +01:00
import java.util.stream.IntStream;
import java.util.stream.Stream;
2017-06-13 11:58:53 +01:00
import static org.hamcrest.CoreMatchers.instanceOf;
2017-06-15 16:13:51 +02:00
import static org.junit.Assert.assertEquals;
2017-06-09 13:32:20 +01:00
import static org.junit.Assert.assertNotNull;
2017-06-13 11:58:53 +01:00
import static org.junit.Assert.assertThat;
2017-06-09 13:32:20 +01:00
public class StringToCharStreamUnitTest {
2017-06-13 16:54:45 +02:00
private String testString = "Tests";
2017-06-09 13:32:20 +01:00
@Test
public void givenTestString_whenChars_thenReturnIntStream() {
2017-06-13 11:58:53 +01:00
assertThat(testString.chars(), instanceOf(IntStream.class));
2017-06-09 13:32:20 +01:00
}
@Test
public void givenTestString_whenCodePoints_thenReturnIntStream() {
2017-06-13 11:58:53 +01:00
assertThat(testString.codePoints(), instanceOf(IntStream.class));
2017-06-09 13:32:20 +01:00
}
2017-06-15 16:13:51 +02:00
@Test
public void givenTestString_whenCodePoints_thenShowOccurences() throws Exception {
Map<Character, Integer> map = testString.codePoints()
.mapToObj(c -> (char) c)
.filter(Character::isLetter)
.collect(Collectors.toMap(c -> c, c -> 1, Integer::sum));
System.out.println(map);
}
2017-06-09 13:32:20 +01:00
@Test
public void givenIntStream_whenMapToObj_thenReturnCharacterStream() {
2017-06-15 16:13:51 +02:00
Stream<Character> characterStream = testString.chars()
.mapToObj(c -> (char) c);
Stream<Character> characterStream1 = testString.codePoints()
.mapToObj(c -> (char) c);
2017-06-09 13:32:20 +01:00
assertNotNull("IntStream returned by chars() did not map to Stream<Character>", characterStream);
assertNotNull("IntStream returned by codePoints() did not map to Stream<Character>", characterStream1);
}
2017-06-13 11:58:53 +01:00
@Test
2017-06-13 16:54:45 +02:00
public void givenIntStream_whenMapToObj_thenReturnStringStream() {
2017-06-15 16:13:51 +02:00
List<String> strings = testString.codePoints()
.mapToObj(c -> String.valueOf((char) c))
.collect(Collectors.toList());
assertEquals(strings.size(), 5);
2017-06-13 11:58:53 +01:00
}
2017-06-09 13:32:20 +01:00
}