From 07cd60e8438f247c37d449f009f3168a4b9bddce Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Tue, 30 Jul 2019 16:44:46 -0400 Subject: [PATCH 1/7] Selection sort implementation --- .../selectionsort/SelectionSort.java | 72 +++++++++++++++++++ .../selectionsort/SelectionSortUnitTest.java | 25 +++++++ 2 files changed, 97 insertions(+) create mode 100644 algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java create mode 100644 algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java diff --git a/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java new file mode 100644 index 0000000000..1b160a492d --- /dev/null +++ b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java @@ -0,0 +1,72 @@ +package com.baeldung.algorithms.selectionsort; + +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +public class SelectionSort { + + /*public static void main(final String args[]) { + int[] a = { 5, 4, 1, 6, 2 }; + + System.out.println("Unsorted array"); + System.out.println(IntStream.of(a) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + a = sortAscending(a); + System.out.println("Ascending Sorted array"); + System.out.println(IntStream.of(a) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + a = sortDescending(a); + System.out.println("Descending Sorted array"); + System.out.println(IntStream.of(a) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + }*/ + + public static void sortAscending(final int[] arr) { + for (int i = 0; i < arr.length - 1; i++) { + int minElementIndex = i; + for (int j = i + 1; j < arr.length; j++) { + if (arr[minElementIndex] > arr[j]) { + minElementIndex = j; + } + } + + if (minElementIndex != i) { + int temp = arr[i]; + arr[i] = arr[minElementIndex]; + arr[minElementIndex] = temp; + } + System.out.println("Iteration No. " + (i + 1)); + System.out.println(IntStream.of(arr) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + } + } + + public static void sortDescending(final int[] arr) { + for (int i = 0; i < arr.length - 1; i++) { + int maxElementIndex = i; + for (int j = i + 1; j < arr.length; j++) { + if (arr[maxElementIndex] < arr[j]) { + maxElementIndex = j; + } + } + + if (maxElementIndex != i) { + int temp = arr[i]; + arr[i] = arr[maxElementIndex]; + arr[maxElementIndex] = temp; + } + System.out.println("Iteration No. " + (i + 1)); + System.out.println(IntStream.of(arr) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + } + } +} \ No newline at end of file diff --git a/algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java b/algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java new file mode 100644 index 0000000000..85efd1d3da --- /dev/null +++ b/algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java @@ -0,0 +1,25 @@ +package com.baeldung.algorithms.selectionsort; + +import static org.junit.Assert.*; +import static org.junit.Assert.assertArrayEquals; + +import org.junit.Test; + +public class SelectionSortUnitTest { + + @Test + public void givenUnsortedArray_whenSelectionSort_SortAscending_thenSortedAsc() { + int[] input = { 5, 4, 1, 6, 2 }; + SelectionSort.sortAscending(input); + int[] expected = {1, 2, 4, 5, 6}; + assertArrayEquals("the two arrays are not equal", expected, input); + } + + @Test + public void givenUnsortedArray_whenSelectionSort_SortDescending_thenSortedDesc() { + int[] input = { 5, 4, 1, 6, 2 }; + SelectionSort.sortDescending(input); + int[] expected = {6, 5, 4, 2, 1}; + assertArrayEquals("the two arrays are not equal", expected, input); + } +} From 01cd19d427b08bd26c27c4e0687e1d842f6a1b59 Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Tue, 30 Jul 2019 16:46:22 -0400 Subject: [PATCH 2/7] Selection sort implementation --- .../selectionsort/SelectionSort.java | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java index 1b160a492d..17e95edf06 100644 --- a/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java +++ b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java @@ -1,31 +1,7 @@ package com.baeldung.algorithms.selectionsort; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - public class SelectionSort { - /*public static void main(final String args[]) { - int[] a = { 5, 4, 1, 6, 2 }; - - System.out.println("Unsorted array"); - System.out.println(IntStream.of(a) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - - a = sortAscending(a); - System.out.println("Ascending Sorted array"); - System.out.println(IntStream.of(a) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - - a = sortDescending(a); - System.out.println("Descending Sorted array"); - System.out.println(IntStream.of(a) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - }*/ - public static void sortAscending(final int[] arr) { for (int i = 0; i < arr.length - 1; i++) { int minElementIndex = i; @@ -40,11 +16,6 @@ public class SelectionSort { arr[i] = arr[minElementIndex]; arr[minElementIndex] = temp; } - System.out.println("Iteration No. " + (i + 1)); - System.out.println(IntStream.of(arr) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - } } @@ -62,11 +33,6 @@ public class SelectionSort { arr[i] = arr[maxElementIndex]; arr[maxElementIndex] = temp; } - System.out.println("Iteration No. " + (i + 1)); - System.out.println(IntStream.of(arr) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - } } } \ No newline at end of file From f66e0d8053988a6436a6346c6a8edd06f435f33a Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Sun, 8 Sep 2019 16:27:20 -0400 Subject: [PATCH 3/7] BAEL-3214 | Unit tests for class FileWriter --- .../filewriter/FileWriterExampleTest.java | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java new file mode 100644 index 0000000000..521a6dd477 --- /dev/null +++ b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java @@ -0,0 +1,123 @@ +package com.baeldung.filewriter; + +import static org.junit.Assert.assertEquals; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.junit.After; +import org.junit.Test; + +public class FileWriterExampleTest { + + @After + public void tearDown() throws IOException { + Files.delete(Path.of("src/test/resources/FileWriterTest.txt")); + } + + @Test + public void testFileWriter_Constructor_With_FileName() throws IOException { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt")) { + fileWriter.write("Hello Folks!"); + } + + assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_FileName_And_Charset() throws IOException { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"))) { + fileWriter.write("Hello Folks! Let us learn the Façade design pattern"); + } + + System.out.println(new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + assertEquals("Hello Folks! Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_FileName_And_AppendFlag() throws IOException { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt")) { + fileWriter.write("Hello Folks!"); + } + + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", true)) { + fileWriter.write("Let us learn the Façade design pattern"); + } + + assertEquals("Hello Folks!Let us learn the Façade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_FileName_And_Charset_And_AppendFlag() throws IOException { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"))) { + fileWriter.write("Hello Folks!"); + } + + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"), true)) { + fileWriter.write("Let us learn the Façade design pattern"); + } + + assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_File() throws IOException { + try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"))) { + fileWriter.write("Hello Folks!"); + } + + assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_File_And_Charset() throws IOException { + try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"))) { + fileWriter.write("Hello Folks!Let us learn the Façade design pattern"); + } + + assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_File_And_AppendFlag() throws IOException { + try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"))) { + fileWriter.write("Hello Folks!"); + } + + try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), true)) { + fileWriter.write("Let us learn the Façade design pattern"); + } + + assertEquals("Hello Folks!Let us learn the Façade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_File_And_Charset_And_AppendFlag() throws IOException { + try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"))) { + fileWriter.write("Hello Folks!"); + } + + try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"), true)) { + fileWriter.write("Let us learn the Façade design pattern"); + } + + assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + + @Test + public void testFileWriter_Constructor_With_FileDescriptor() throws FileNotFoundException, IOException { + try(FileOutputStream fos = new FileOutputStream(new File("src/test/resources/FileWriterTest.txt")); + FileWriter fileWriter = new FileWriter(fos.getFD())){ + fileWriter.write("Hello Folks!"); + } + + assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + } + +} From 827c97e47b3baed17ed061834b7ef36fa84a6af7 Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Sun, 8 Sep 2019 16:42:03 -0400 Subject: [PATCH 4/7] Code formatted --- .../filewriter/FileWriterExampleTest.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java index 521a6dd477..2147bd5ef2 100644 --- a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java +++ b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java @@ -35,9 +35,9 @@ public class FileWriterExampleTest { try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"))) { fileWriter.write("Hello Folks! Let us learn the Façade design pattern"); } - + System.out.println(new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - assertEquals("Hello Folks! Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); + assertEquals("Hello Folks! Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } @Test @@ -62,7 +62,7 @@ public class FileWriterExampleTest { try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"), true)) { fileWriter.write("Let us learn the Façade design pattern"); } - + assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } @@ -80,7 +80,7 @@ public class FileWriterExampleTest { try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"))) { fileWriter.write("Hello Folks!Let us learn the Façade design pattern"); } - + assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } @@ -106,17 +106,16 @@ public class FileWriterExampleTest { try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"), true)) { fileWriter.write("Let us learn the Façade design pattern"); } - + assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } - + @Test public void testFileWriter_Constructor_With_FileDescriptor() throws FileNotFoundException, IOException { - try(FileOutputStream fos = new FileOutputStream(new File("src/test/resources/FileWriterTest.txt")); - FileWriter fileWriter = new FileWriter(fos.getFD())){ - fileWriter.write("Hello Folks!"); + try (FileOutputStream fos = new FileOutputStream(new File("src/test/resources/FileWriterTest.txt")); FileWriter fileWriter = new FileWriter(fos.getFD())) { + fileWriter.write("Hello Folks!"); } - + assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } From 31be377141a553037013dbe23e701d3878f6b0aa Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Sun, 15 Sep 2019 13:17:48 -0400 Subject: [PATCH 5/7] BAEL-3214 | Java FileWriter class code - 2 --- .../filewriter/FileWriterExample.java | 37 ++++++ .../filewriter/FileWriterExampleTest.java | 122 ------------------ .../filewriter/FileWriterExampleUnitTest.java | 57 ++++++++ 3 files changed, 94 insertions(+), 122 deletions(-) create mode 100644 core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java delete mode 100644 core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java create mode 100644 core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java diff --git a/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java b/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java new file mode 100644 index 0000000000..d60f0800ec --- /dev/null +++ b/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java @@ -0,0 +1,37 @@ +package com.baeldung.filewriter; + +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; +import java.util.List; + +public class FileWriterExample { + + public void writeString(String fileName, String strToWrite) throws IOException { + try (FileWriter fileWriter = new FileWriter(fileName)) { + fileWriter.write(strToWrite); + } + } + + public void appendString(String fileName, String stringToAppend) throws IOException { + try (FileWriter fileWriter = new FileWriter(fileName, true)) { + fileWriter.append(stringToAppend); + } + } + + public void writeCharArray(String fileName, char[] charArrToWrite) throws IOException { + try (FileWriter fileWriter = new FileWriter(fileName)) { + fileWriter.write(charArrToWrite); + } + } + + public void writeWithBufferedWriter(String fileName, List stringsToWrite) throws IOException { + try (FileWriter fileWriter = new FileWriter(fileName); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter)) { + for (String stringToWrite : stringsToWrite) { + bufferedWriter.write(stringToWrite); + } + } + + } + +} diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java deleted file mode 100644 index 2147bd5ef2..0000000000 --- a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleTest.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.baeldung.filewriter; - -import static org.junit.Assert.assertEquals; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.FileWriter; -import java.io.IOException; -import java.nio.charset.Charset; -import java.nio.file.Files; -import java.nio.file.Path; - -import org.junit.After; -import org.junit.Test; - -public class FileWriterExampleTest { - - @After - public void tearDown() throws IOException { - Files.delete(Path.of("src/test/resources/FileWriterTest.txt")); - } - - @Test - public void testFileWriter_Constructor_With_FileName() throws IOException { - try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt")) { - fileWriter.write("Hello Folks!"); - } - - assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_FileName_And_Charset() throws IOException { - try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"))) { - fileWriter.write("Hello Folks! Let us learn the Façade design pattern"); - } - - System.out.println(new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - assertEquals("Hello Folks! Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_FileName_And_AppendFlag() throws IOException { - try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt")) { - fileWriter.write("Hello Folks!"); - } - - try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", true)) { - fileWriter.write("Let us learn the Façade design pattern"); - } - - assertEquals("Hello Folks!Let us learn the Façade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_FileName_And_Charset_And_AppendFlag() throws IOException { - try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"))) { - fileWriter.write("Hello Folks!"); - } - - try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", Charset.forName("US-ASCII"), true)) { - fileWriter.write("Let us learn the Façade design pattern"); - } - - assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_File() throws IOException { - try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"))) { - fileWriter.write("Hello Folks!"); - } - - assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_File_And_Charset() throws IOException { - try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"))) { - fileWriter.write("Hello Folks!Let us learn the Façade design pattern"); - } - - assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_File_And_AppendFlag() throws IOException { - try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"))) { - fileWriter.write("Hello Folks!"); - } - - try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), true)) { - fileWriter.write("Let us learn the Façade design pattern"); - } - - assertEquals("Hello Folks!Let us learn the Façade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_File_And_Charset_And_AppendFlag() throws IOException { - try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"))) { - fileWriter.write("Hello Folks!"); - } - - try (FileWriter fileWriter = new FileWriter(new File("src/test/resources/FileWriterTest.txt"), Charset.forName("US-ASCII"), true)) { - fileWriter.write("Let us learn the Façade design pattern"); - } - - assertEquals("Hello Folks!Let us learn the Fa?ade design pattern", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - - @Test - public void testFileWriter_Constructor_With_FileDescriptor() throws FileNotFoundException, IOException { - try (FileOutputStream fos = new FileOutputStream(new File("src/test/resources/FileWriterTest.txt")); FileWriter fileWriter = new FileWriter(fos.getFD())) { - fileWriter.write("Hello Folks!"); - } - - assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); - } - -} diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java new file mode 100644 index 0000000000..a1fdb5459e --- /dev/null +++ b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java @@ -0,0 +1,57 @@ +package com.baeldung.filewriter; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.stream.IntStream; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Test; + +public class FileWriterExampleUnitTest { + + private static final String FILE_NAME = "src/test/resources/FileWriterTest.txt"; + private static final String STRING_TO_WRITE = "Hello Folks!"; + private static final String STRING_TO_APPEND = "Hello Folks Again!"; + private static final char[] CHAR_ARRAY_TO_WRITE = STRING_TO_WRITE.toCharArray(); + + private FileWriterExample fileWriterExample = new FileWriterExample(); + + @After + public void tearDown() throws IOException { + Files.delete(Path.of(FILE_NAME)); + } + + @Test + public void testWriteString() throws IOException { + fileWriterExample.writeString(FILE_NAME, STRING_TO_WRITE); + Assert.assertEquals(STRING_TO_WRITE, new String(Files.readAllBytes(Path.of(FILE_NAME)))); + } + + @Test + public void testAppendString() throws IOException { + fileWriterExample.writeString(FILE_NAME, STRING_TO_WRITE); + fileWriterExample.appendString(FILE_NAME, STRING_TO_APPEND); + Assert.assertEquals(STRING_TO_WRITE + STRING_TO_APPEND, new String(Files.readAllBytes(Path.of(FILE_NAME)))); + } + + @Test + public void testWriteCharArray() throws IOException { + fileWriterExample.writeCharArray(FILE_NAME, CHAR_ARRAY_TO_WRITE); + Assert.assertEquals(STRING_TO_WRITE, new String(Files.readAllBytes(Path.of(FILE_NAME)))); + } + + @Test + public void testWriteWithBufferedWriter() throws IOException{ + final List stringsToWrite = new ArrayList<>(); + for(int i=0 ; i < 10000;i++) { + stringsToWrite.add("Random string "+i); + } + fileWriterExample.writeWithBufferedWriter(FILE_NAME, stringsToWrite); + Assert.assertNotNull(new String(Files.readAllBytes(Path.of(FILE_NAME)))); + } +} From 4e063a1120afb7aec6dc9b6ff5548472bc665c5c Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Thu, 19 Sep 2019 15:26:45 -0400 Subject: [PATCH 6/7] BAEL-3214 | Code review related changes - 1 --- .../filewriter/FileWriterExample.java | 37 ---------------- .../filewriter/FileWriterExampleUnitTest.java | 42 ++++++++----------- 2 files changed, 17 insertions(+), 62 deletions(-) delete mode 100644 core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java diff --git a/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java b/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java deleted file mode 100644 index d60f0800ec..0000000000 --- a/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filewriter/FileWriterExample.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.baeldung.filewriter; - -import java.io.BufferedWriter; -import java.io.FileWriter; -import java.io.IOException; -import java.util.List; - -public class FileWriterExample { - - public void writeString(String fileName, String strToWrite) throws IOException { - try (FileWriter fileWriter = new FileWriter(fileName)) { - fileWriter.write(strToWrite); - } - } - - public void appendString(String fileName, String stringToAppend) throws IOException { - try (FileWriter fileWriter = new FileWriter(fileName, true)) { - fileWriter.append(stringToAppend); - } - } - - public void writeCharArray(String fileName, char[] charArrToWrite) throws IOException { - try (FileWriter fileWriter = new FileWriter(fileName)) { - fileWriter.write(charArrToWrite); - } - } - - public void writeWithBufferedWriter(String fileName, List stringsToWrite) throws IOException { - try (FileWriter fileWriter = new FileWriter(fileName); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter)) { - for (String stringToWrite : stringsToWrite) { - bufferedWriter.write(stringToWrite); - } - } - - } - -} diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java index a1fdb5459e..5a8dfcc381 100644 --- a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java +++ b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java @@ -1,12 +1,9 @@ package com.baeldung.filewriter; +import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.stream.IntStream; import org.junit.After; import org.junit.Assert; @@ -15,11 +12,6 @@ import org.junit.Test; public class FileWriterExampleUnitTest { private static final String FILE_NAME = "src/test/resources/FileWriterTest.txt"; - private static final String STRING_TO_WRITE = "Hello Folks!"; - private static final String STRING_TO_APPEND = "Hello Folks Again!"; - private static final char[] CHAR_ARRAY_TO_WRITE = STRING_TO_WRITE.toCharArray(); - - private FileWriterExample fileWriterExample = new FileWriterExample(); @After public void tearDown() throws IOException { @@ -28,30 +20,30 @@ public class FileWriterExampleUnitTest { @Test public void testWriteString() throws IOException { - fileWriterExample.writeString(FILE_NAME, STRING_TO_WRITE); - Assert.assertEquals(STRING_TO_WRITE, new String(Files.readAllBytes(Path.of(FILE_NAME)))); + try (FileWriter fileWriter = new FileWriter(FILE_NAME)) { + fileWriter.write("Hello Folks!"); + } + Assert.assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of(FILE_NAME)))); } @Test public void testAppendString() throws IOException { - fileWriterExample.writeString(FILE_NAME, STRING_TO_WRITE); - fileWriterExample.appendString(FILE_NAME, STRING_TO_APPEND); - Assert.assertEquals(STRING_TO_WRITE + STRING_TO_APPEND, new String(Files.readAllBytes(Path.of(FILE_NAME)))); + try (FileWriter fileWriter = new FileWriter(FILE_NAME)) { + fileWriter.write("Hello Folks!"); + } + // using another try with resources to reopen the file in append mode + try (FileWriter fileWriter = new FileWriter(FILE_NAME, true)) { + fileWriter.write("Hello Folks Again!"); + } + + Assert.assertEquals("Hello Folks!" + "Hello Folks Again!", new String(Files.readAllBytes(Path.of(FILE_NAME)))); } @Test public void testWriteCharArray() throws IOException { - fileWriterExample.writeCharArray(FILE_NAME, CHAR_ARRAY_TO_WRITE); - Assert.assertEquals(STRING_TO_WRITE, new String(Files.readAllBytes(Path.of(FILE_NAME)))); - } - - @Test - public void testWriteWithBufferedWriter() throws IOException{ - final List stringsToWrite = new ArrayList<>(); - for(int i=0 ; i < 10000;i++) { - stringsToWrite.add("Random string "+i); + try (FileWriter fileWriter = new FileWriter(FILE_NAME)) { + fileWriter.write("Hello Folks!".toCharArray()); } - fileWriterExample.writeWithBufferedWriter(FILE_NAME, stringsToWrite); - Assert.assertNotNull(new String(Files.readAllBytes(Path.of(FILE_NAME)))); + Assert.assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of(FILE_NAME)))); } } From 52934fdb209d773c3360067b397ab38406473a01 Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Thu, 19 Sep 2019 15:31:48 -0400 Subject: [PATCH 7/7] BAEL-3214 | Code review related changes - 2 --- .../filewriter/FileWriterExampleUnitTest.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java index 5a8dfcc381..f94a73b023 100644 --- a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java +++ b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filewriter/FileWriterExampleUnitTest.java @@ -11,39 +11,37 @@ import org.junit.Test; public class FileWriterExampleUnitTest { - private static final String FILE_NAME = "src/test/resources/FileWriterTest.txt"; - @After public void tearDown() throws IOException { - Files.delete(Path.of(FILE_NAME)); + Files.delete(Path.of("src/test/resources/FileWriterTest.txt")); } @Test public void testWriteString() throws IOException { - try (FileWriter fileWriter = new FileWriter(FILE_NAME)) { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt")) { fileWriter.write("Hello Folks!"); } - Assert.assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of(FILE_NAME)))); + Assert.assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } @Test public void testAppendString() throws IOException { - try (FileWriter fileWriter = new FileWriter(FILE_NAME)) { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt")) { fileWriter.write("Hello Folks!"); } // using another try with resources to reopen the file in append mode - try (FileWriter fileWriter = new FileWriter(FILE_NAME, true)) { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt", true)) { fileWriter.write("Hello Folks Again!"); } - Assert.assertEquals("Hello Folks!" + "Hello Folks Again!", new String(Files.readAllBytes(Path.of(FILE_NAME)))); + Assert.assertEquals("Hello Folks!" + "Hello Folks Again!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } @Test public void testWriteCharArray() throws IOException { - try (FileWriter fileWriter = new FileWriter(FILE_NAME)) { + try (FileWriter fileWriter = new FileWriter("src/test/resources/FileWriterTest.txt")) { fileWriter.write("Hello Folks!".toCharArray()); } - Assert.assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of(FILE_NAME)))); + Assert.assertEquals("Hello Folks!", new String(Files.readAllBytes(Path.of("src/test/resources/FileWriterTest.txt")))); } }