From 9a102f03aff1c782a9fafe8660092dc35db6996e Mon Sep 17 00:00:00 2001 From: Cristian Rosu Date: Sat, 15 Aug 2020 16:48:24 +0300 Subject: [PATCH 1/2] BAEL-4394: Line at a given number tests --- .../linenumber/LineAtGivenNumberTest.java | 88 +++++++++++++++++++ .../src/test/resources/linesInput.txt | 5 ++ 2 files changed, 93 insertions(+) create mode 100644 core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java create mode 100644 core-java-modules/core-java-io-3/src/test/resources/linesInput.txt diff --git a/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java new file mode 100644 index 0000000000..b73320c8d9 --- /dev/null +++ b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java @@ -0,0 +1,88 @@ +package com.baeldung.linenumber; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.junit.Test; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.List; +import java.util.Scanner; +import java.util.stream.Stream; + +import static org.junit.Assert.assertEquals; + +public class LineAtGivenNumberTest { + + private static final String FILE_PATH = "src/test/resources/linesInput.txt"; + + @Test + public void givenFile_whenUsingBufferedReader_thenExtractedLineIsCorrect() throws IOException { + try (BufferedReader br = Files.newBufferedReader(Paths.get(FILE_PATH))) { + for (int i = 0; i < 3; i++) { + br.readLine(); + } + + String extractedLine = br.readLine(); + String expectedLine = "Line 4"; + assertEquals(expectedLine, extractedLine); + } + } + + @Test + public void givenFile_whenUsingScanner_thenExtractedLineIsCorrect() throws IOException { + try (Scanner scanner = new Scanner(new File(FILE_PATH))) { + for (int i = 0; i < 3; i++) { + scanner.nextLine(); + } + + String extractedLine = scanner.nextLine(); + String expectedLine = "Line 4"; + assertEquals(expectedLine, extractedLine); + } + } + + @Test + public void givenSmallFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { + String extractedLine = Files.readAllLines(Paths.get(FILE_PATH)).get(4); + String expectedLine = "Line 5"; + + assertEquals(expectedLine, extractedLine); + } + + @Test + public void givenLargeFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { + try (Stream lines = Files.lines(Paths.get(FILE_PATH))) { + String extractedLine = lines.skip(4).findFirst().get(); + String expectedLine = "Line 5"; + + assertEquals(expectedLine, extractedLine); + } + } + + @Test + public void givenFile_whenUsingFIleUtils_thenExtractedLineIsCorrect() throws IOException { + ClassLoader classLoader = getClass().getClassLoader(); + File file = new File(classLoader.getResource("linesInput.txt").getFile()); + + List lines = FileUtils.readLines(file, "UTF-8"); + + String extractedLine = lines.get(0); + String expectedLine = "Line 1"; + assertEquals(expectedLine, extractedLine); + } + + @Test + public void givenFile_whenUsingIOUtils_thenExtractedLineIsCorrect() throws IOException { + String fileContent = IOUtils.toString(new FileInputStream(FILE_PATH), StandardCharsets.UTF_8); + + String extractedLine = fileContent.split(System.lineSeparator())[0]; + String expectedLine = "Line 1"; + assertEquals(expectedLine, extractedLine); + } +} diff --git a/core-java-modules/core-java-io-3/src/test/resources/linesInput.txt b/core-java-modules/core-java-io-3/src/test/resources/linesInput.txt new file mode 100644 index 0000000000..572d5d9483 --- /dev/null +++ b/core-java-modules/core-java-io-3/src/test/resources/linesInput.txt @@ -0,0 +1,5 @@ +Line 1 +Line 2 +Line 3 +Line 4 +Line 5 From c0258feff87f4c33ca71129c8608900c901de33c Mon Sep 17 00:00:00 2001 From: Cristian Rosu Date: Mon, 17 Aug 2020 23:45:43 +0300 Subject: [PATCH 2/2] BAEL-4394: simplified assert statements + fixed type --- ...st.java => LineAtGivenNumberUnitTest.java} | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) rename core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/{LineAtGivenNumberTest.java => LineAtGivenNumberUnitTest.java} (77%) diff --git a/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberUnitTest.java similarity index 77% rename from core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java rename to core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberUnitTest.java index b73320c8d9..ffe3221d62 100644 --- a/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberTest.java +++ b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/linenumber/LineAtGivenNumberUnitTest.java @@ -17,7 +17,7 @@ import java.util.stream.Stream; import static org.junit.Assert.assertEquals; -public class LineAtGivenNumberTest { +public class LineAtGivenNumberUnitTest { private static final String FILE_PATH = "src/test/resources/linesInput.txt"; @@ -29,8 +29,7 @@ public class LineAtGivenNumberTest { } String extractedLine = br.readLine(); - String expectedLine = "Line 4"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 4", extractedLine); } } @@ -42,39 +41,35 @@ public class LineAtGivenNumberTest { } String extractedLine = scanner.nextLine(); - String expectedLine = "Line 4"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 4", extractedLine); } } @Test public void givenSmallFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { String extractedLine = Files.readAllLines(Paths.get(FILE_PATH)).get(4); - String expectedLine = "Line 5"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 5", extractedLine); } @Test public void givenLargeFile_whenUsingFilesAPI_thenExtractedLineIsCorrect() throws IOException { try (Stream lines = Files.lines(Paths.get(FILE_PATH))) { String extractedLine = lines.skip(4).findFirst().get(); - String expectedLine = "Line 5"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 5", extractedLine); } } @Test - public void givenFile_whenUsingFIleUtils_thenExtractedLineIsCorrect() throws IOException { + public void givenFile_whenUsingFileUtils_thenExtractedLineIsCorrect() throws IOException { ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("linesInput.txt").getFile()); List lines = FileUtils.readLines(file, "UTF-8"); String extractedLine = lines.get(0); - String expectedLine = "Line 1"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 1", extractedLine); } @Test @@ -82,7 +77,6 @@ public class LineAtGivenNumberTest { String fileContent = IOUtils.toString(new FileInputStream(FILE_PATH), StandardCharsets.UTF_8); String extractedLine = fileContent.split(System.lineSeparator())[0]; - String expectedLine = "Line 1"; - assertEquals(expectedLine, extractedLine); + assertEquals("Line 1", extractedLine); } }