summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAaron M. Renn <arenn@urbanophile.com>1998-12-02 03:47:36 +0000
committerAaron M. Renn <arenn@urbanophile.com>1998-12-02 03:47:36 +0000
commite9be7f6c868df9d44473365817755494e7675a8a (patch)
tree6f645c48c7ee158759534ae40a4a678ca531133d /test
parent6fdb2ef08f6fb51d629aad8d1f5239a19d9b06fc (diff)
downloadclasspath-e9be7f6c868df9d44473365817755494e7675a8a.tar.gz
Initial checkin
Diffstat (limited to 'test')
-rw-r--r--test/java.io/BufferedByteOutputStreamTest.java87
-rw-r--r--test/java.io/PipedStreamTest.java134
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);
+ }
+
+}
+
+}
+