aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/test/java/com/yahoo/io
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahoo-inc.com>2017-05-30 09:24:20 +0200
committerArne H Juul <arnej@yahoo-inc.com>2017-05-30 09:24:20 +0200
commit14953e4b25d7dfd92e38a5340b74c24c6a3f9cd7 (patch)
tree518692d52d4e249348a4e4ee48bb932bcf562463 /vespajlib/src/test/java/com/yahoo/io
parenta8471a5ccca7570b7f556b1b2829ff0977c997dd (diff)
improve test after review
Diffstat (limited to 'vespajlib/src/test/java/com/yahoo/io')
-rw-r--r--vespajlib/src/test/java/com/yahoo/io/TeeInputStreamTest.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/io/TeeInputStreamTest.java b/vespajlib/src/test/java/com/yahoo/io/TeeInputStreamTest.java
index 728359bc2d1..ac438d8645b 100644
--- a/vespajlib/src/test/java/com/yahoo/io/TeeInputStreamTest.java
+++ b/vespajlib/src/test/java/com/yahoo/io/TeeInputStreamTest.java
@@ -18,17 +18,22 @@ public class TeeInputStreamTest {
byte[] input = "very simple input".getBytes(StandardCharsets.UTF_8);
ByteArrayInputStream in = new ByteArrayInputStream(input);
ByteArrayOutputStream gotten = new ByteArrayOutputStream();
+ ByteArrayOutputStream output = new ByteArrayOutputStream();
TeeInputStream tee = new TeeInputStream(in, gotten);
int b = tee.read();
assertThat(b, is((int)'v'));
+ output.write(b);
assertThat(gotten.toString(), is("very simple input"));
for (int i = 0; i < 16; i++) {
b = tee.read();
// System.out.println("got["+i+"]: "+(char)b);
assertThat(b, is(greaterThan(0)));
+ output.write(b);
}
assertThat(tee.read(), is(-1));
+ assertThat(gotten.toString(), is("very simple input"));
+ assertThat(output.toString(), is("very simple input"));
}
private class Generator implements Runnable {
@@ -54,30 +59,42 @@ public class TeeInputStreamTest {
PipedOutputStream input = new PipedOutputStream();
PipedInputStream in = new PipedInputStream(input);
ByteArrayOutputStream gotten = new ByteArrayOutputStream();
+ ByteArrayOutputStream output = new ByteArrayOutputStream();
TeeInputStream tee = new TeeInputStream(in, gotten);
input.write("first input".getBytes(StandardCharsets.UTF_8));
int b = tee.read();
assertThat(b, is((int)'f'));
+ output.write(b);
assertThat(gotten.toString(), is("first input"));
input.write(" second input".getBytes(StandardCharsets.UTF_8));
b = tee.read();
assertThat(b, is((int)'i'));
+ output.write(b);
assertThat(gotten.toString(), is("first input second input"));
new Thread(new Generator(input)).start();
b = tee.read();
assertThat(b, is((int)'r'));
+ output.write(b);
byte[] ba = new byte[9];
for (int i = 0; i < 12345; i++) {
b = tee.read();
// System.out.println("got["+i+"]: "+(char)b);
assertThat(b, is(greaterThan(0)));
- assertThat(tee.read(ba), is(greaterThan(0)));
+ output.write(b);
+ int l = tee.read(ba);
+ assertThat(l, is(greaterThan(0)));
+ output.write(ba, 0, l);
+ l = tee.read(ba, 3, 3);
+ assertThat(l, is(greaterThan(0)));
+ output.write(ba, 3, l);
}
tee.close();
String got = gotten.toString();
// System.out.println("got length: "+got.length());
+ // System.out.println("output length: "+output.toString().length());
// System.out.println("got: "+got);
assertThat(got.length(), is(greaterThan(34567)));
+ assertTrue(got.startsWith(output.toString()));
}
}