diff --git a/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/splitstringbynewline/SplitStringByNewLineUnitTest.java b/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/splitstringbynewline/SplitStringByNewLineUnitTest.java new file mode 100644 index 0000000000..9afba62947 --- /dev/null +++ b/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/splitstringbynewline/SplitStringByNewLineUnitTest.java @@ -0,0 +1,29 @@ +package com.baeldung.splitstringbynewline; + +import org.junit.Test; +import static org.assertj.core.api.Assertions.assertThat; + +public class SplitStringByNewLineUnitTest { + @Test + public void givenString_whenSplitByNewLineUsingSystemLineSeparator_thenReturnsArray() { + assertThat("Line1\nLine2\nLine3".split(System.lineSeparator())).containsExactly("Line1", "Line2", "Line3"); + } + + @Test + public void givenString_whenSplitByNewLineUsingRegularExpressionPattern_thenReturnsArray() { + assertThat("Line1\nLine2\nLine3".split("\\r?\\n|\\r")).containsExactly("Line1", "Line2", "Line3"); + + assertThat("Line1\rLine2\rLine3".split("\\r?\\n|\\r")).containsExactly("Line1", "Line2", "Line3"); + + assertThat("Line1\r\nLine2\r\nLine3".split("\\r?\\n|\\r")).containsExactly("Line1", "Line2", "Line3"); + } + + @Test + public void givenString_whenSplitByNewLineUsingJava8Pattern_thenReturnsArray() { + assertThat("Line1\nLine2\nLine3".split("\\R")).containsExactly("Line1", "Line2", "Line3"); + + assertThat("Line1\rLine2\rLine3".split("\\R")).containsExactly("Line1", "Line2", "Line3"); + + assertThat("Line1\r\nLine2\r\nLine3".split("\\R")).containsExactly("Line1", "Line2", "Line3"); + } +}