Skip to content

Commit 979cd6e

Browse files
author
eugenp
committed
IO testing work
1 parent 6c52dfa commit 979cd6e

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

core-java/src/test/java/org/baeldung/java/io/JavaReaderToXUnitTest.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package org.baeldung.java.io;
22

3+
import java.io.ByteArrayInputStream;
34
import java.io.File;
45
import java.io.FileReader;
56
import java.io.FileWriter;
67
import java.io.IOException;
8+
import java.io.InputStream;
79
import java.io.Reader;
810
import java.io.StringReader;
911
import java.io.Writer;
@@ -143,4 +145,42 @@ public void givenUsingCommonsIO_whenConvertingReaderIntoByteArray_thenCorrect()
143145
initialReader.close();
144146
}
145147

148+
// tests - Reader to InputStream
149+
150+
@Test
151+
public void givenUsingPlainJava_whenConvertingReaderIntoInputStream_thenCorrect() throws IOException {
152+
final Reader initialReader = new StringReader("With Java");
153+
154+
final char[] charBuffer = new char[8 * 1024];
155+
final StringBuilder builder = new StringBuilder();
156+
int numCharsRead;
157+
while ((numCharsRead = initialReader.read(charBuffer, 0, charBuffer.length)) != -1) {
158+
builder.append(charBuffer, 0, numCharsRead);
159+
}
160+
final InputStream targetStream = new ByteArrayInputStream(builder.toString().getBytes());
161+
162+
initialReader.close();
163+
targetStream.close();
164+
}
165+
166+
@Test
167+
public void givenUsingGuava_whenConvertingReaderIntoInputStream_thenCorrect() throws IOException {
168+
final Reader initialReader = new StringReader("With Guava");
169+
170+
final InputStream targetStream = new ByteArrayInputStream(CharStreams.toString(initialReader).getBytes());
171+
172+
initialReader.close();
173+
targetStream.close();
174+
}
175+
176+
@Test
177+
public void givenUsingCommonsIO_whenConvertingReaderIntoInputStream() throws IOException {
178+
final Reader initialReader = new StringReader("With Commons IO");
179+
180+
final InputStream targetStream = IOUtils.toInputStream(initialReader.toString());
181+
182+
initialReader.close();
183+
targetStream.close();
184+
}
185+
146186
}

core-java/src/test/java/org/baeldung/java/io/JavaXToReaderUnitTest.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
package org.baeldung.java.io;
22

3+
import java.io.ByteArrayInputStream;
34
import java.io.File;
45
import java.io.FileReader;
56
import java.io.IOException;
7+
import java.io.InputStream;
8+
import java.io.InputStreamReader;
69
import java.io.Reader;
710
import java.io.StringReader;
811
import java.nio.charset.Charset;
912

1013
import org.apache.commons.io.FileUtils;
14+
import org.apache.commons.io.IOUtils;
1115
import org.apache.commons.io.input.CharSequenceReader;
1216
import org.junit.Test;
1317
import org.slf4j.Logger;
1418
import org.slf4j.LoggerFactory;
1519

20+
import com.google.common.io.ByteSource;
21+
import com.google.common.io.ByteStreams;
1622
import com.google.common.io.CharSource;
1723

1824
public class JavaXToReaderUnitTest {
@@ -94,4 +100,35 @@ public void givenUsingCommonsIO_whenConvertingFileIntoReader_thenCorrect() throw
94100
targetReader.close();
95101
}
96102

103+
// tests - InputStream to Reader
104+
105+
@Test
106+
public void givenUsingPlainJava_whenConvertingInputStreamIntoReader_thenCorrect() throws IOException {
107+
final InputStream initialStream = new ByteArrayInputStream("With Java".getBytes());
108+
final Reader targetReader = new InputStreamReader(initialStream);
109+
110+
initialStream.close();
111+
targetReader.close();
112+
}
113+
114+
@Test
115+
public void givenUsingGuava_whenConvertingInputStreamIntoReader_thenCorrect() throws IOException {
116+
final InputStream initialStream = ByteSource.wrap("With Guava".getBytes()).openStream();
117+
final byte[] buffer = ByteStreams.toByteArray(initialStream);
118+
final Reader targetReader = CharSource.wrap(new String(buffer)).openStream();
119+
120+
initialStream.close();
121+
targetReader.close();
122+
}
123+
124+
@Test
125+
public void givenUsingCommonsIO_whenConvertingInputStreamIntoReader_thenCorrect() throws IOException {
126+
final InputStream initialStream = IOUtils.toInputStream("With Commons IO");
127+
final byte[] buffer = IOUtils.toByteArray(initialStream);
128+
final Reader targetReader = new CharSequenceReader(new String(buffer));
129+
130+
initialStream.close();
131+
targetReader.close();
132+
}
133+
97134
}

0 commit comments

Comments
 (0)