diff options
-rw-r--r-- | test/java.io/BufferedByteOutputStreamTest.java | 87 | ||||
-rw-r--r-- | test/java.io/PipedStreamTest.java | 134 |
2 files changed, 221 insertions, 0 deletions
diff --git a/test/java.io/BufferedByteOutputStreamTest.java b/test/java.io/BufferedByteOutputStreamTest.java new file mode 100644 index 000000000..2d11579f6 --- /dev/null +++ b/test/java.io/BufferedByteOutputStreamTest.java @@ -0,0 +1,87 @@ +/************************************************************************* +/* BufferedByteOutputStreamTest.java -- Test {Buffered,ByteArray}OutputStream +/* +/* Copyright (c) 1998 Free Software Foundation, Inc. +/* Written by Aaron M. Renn (arenn@urbanophile.com) +/* +/* This program is free software; you can redistribute it and/or modify +/* it under the terms of the GNU General Public License as published +/* by the Free Software Foundation, either version 2 of the License, or +/* (at your option) any later version. +/* +/* This program is distributed in the hope that it will be useful, but +/* WITHOUT ANY WARRANTY; without even the implied warranty of +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/* GNU General Public License for more details. +/* +/* You should have received a copy of the GNU General Public License +/* along with this program; if not, write to the Free Software Foundation +/* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA +/*************************************************************************/ + +import java.io.*; + +/** + * Class to test BufferedOutputStream and ByteOutputStream + * + * @version 0.0 + * + * @author Aaron M. Renn (arenn@urbanophile.com) + */ +public class BufferedByteOutputStreamTest +{ + +public static void +main(String argv[]) +{ + System.out.println("Started test of BufferedOutputStream and ByteArrayOutputStream"); + + try + { + System.out.println("Test 1: Write Tests"); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(24); + BufferedOutputStream bos = new BufferedOutputStream(baos, 12); + + String str = "The Kroger on College Mall Rd. in Bloomington " + + "used to sell Kroger brand froze pizzas for 68 cents. " + + "I ate a lot of those in college. It was kind of embarrassing " + + "walking out of the grocery with nothing but 15 frozen pizzas.\n"; + + boolean passed = true; + + byte[] buf = str.getBytes(); + bos.write(buf, 0, 5); + if (baos.toByteArray().length != 0) + { + passed = false; + System.out.println("ByteArrayOutputStream has too many bytes #1"); + } + bos.write(buf, 5, 8); + bos.write(buf, 13, 12); + bos.write(buf[25]); + bos.write(buf, 26, buf.length - 26); + bos.close(); + + String str2 = new String(baos.toByteArray()); + if (!str.equals(str2)) + { + passed = false; + System.out.println("Unexpected string: " + str2); + } + + if (passed) + System.out.println("PASSED: Write Tests"); + else + System.out.println("FAILED: Write Tests"); + } + catch(IOException e) + { + System.out.println("FAILED: Write Tests: " + e); + } + + System.out.println("Finished test of BufferedOutputStream and ByteArrayOutputStream"); +} + +} // class BufferedByteOutputStreamTest + diff --git a/test/java.io/PipedStreamTest.java b/test/java.io/PipedStreamTest.java new file mode 100644 index 000000000..0ef3f05bc --- /dev/null +++ b/test/java.io/PipedStreamTest.java @@ -0,0 +1,134 @@ +/************************************************************************* +/* PipedStreamTest.java -- Tests Piped{Input,Output}Stream's +/* +/* Copyright (c) 1998 Free Software Foundation, Inc. +/* Written by Aaron M. Renn (arenn@urbanophile.com) +/* +/* This program is free software; you can redistribute it and/or modify +/* it under the terms of the GNU General Public License as published +/* by the Free Software Foundation, either version 2 of the License, or +/* (at your option) any later version. +/* +/* This program is distributed in the hope that it will be useful, but +/* WITHOUT ANY WARRANTY; without even the implied warranty of +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/* GNU General Public License for more details. +/* +/* You should have received a copy of the GNU General Public License +/* along with this program; if not, write to the Free Software Foundation +/* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA +/*************************************************************************/ + +import java.io.*; + +public class PipedStreamTest +{ + +public static void +main(String[] argv) +{ + // Set up a reasonable buffer size for this test if one is not already + // specified + String prop = System.getProperty("gnu.java.io.pipe_size"); +// if (prop == null) +// System.setProperty("gnu.java.io.pipe_size", "32"); + + try + { + System.out.println("Started test of PipedInputStream and " + + "PipedOutputStream"); + + System.out.println("Test 1: Basic piped stream test"); + + // Set up the thread to write + PipedStreamTestWriter pstw = new PipedStreamTestWriter(); + String str = pstw.getStr(); + PipedOutputStream pos = pstw.getStream(); + + // Now set up our reader + PipedInputStream pis = new PipedInputStream(); + pis.connect(pos); + new Thread(pstw).start(); + + byte[] buf = new byte[12]; + int bytes_read, total_read = 0; + while((bytes_read = pis.read(buf)) != -1) + { + System.out.print(new String(buf, 0, bytes_read)); + System.out.flush(); + System.gc(); // A short delay + total_read += bytes_read; + } + + if (total_read == str.length()) + System.out.println("PASSED: Basic piped stream test"); + else + System.out.println("FAILED: Basic piped stream test"); + } + catch (IOException e) + { + System.out.println("FAILED: Basic piped stream test: " + e); + } +} + +} // class PipedStreamTest + +class PipedStreamTestWriter implements Runnable +{ + +String str; +StringBufferInputStream sbis; +PipedOutputStream out; + +public +PipedStreamTestWriter() +{ + str = "I went to work for Andersen Consulting after I graduated\n" + + "from college. They sent me to their training facility in St. Charles,\n" + + "Illinois and tried to teach me COBOL. I didn't want to learn it.\n" + + "The instructors said I had a bad attitude and I got a green sheet\n" + + "which is a nasty note in your file saying what a jerk you are.\n"; + + sbis = new StringBufferInputStream(str); + + out = new PipedOutputStream(); +} + +public PipedOutputStream +getStream() +{ + return(out); +} + +public String +getStr() +{ + return(str); +} + +public void +run() +{ + byte[] buf = new byte[32]; + + int bytes_read; + + try + { + int b = sbis.read(); + out.write(b); + + while ((bytes_read = sbis.read(buf)) != -1) + out.write(buf, 0, bytes_read); + + out.close(); + } + catch(IOException e) + { + System.out.println("FAILED: Basic piped stream test: " + e); + } + +} + +} + |