* New tests for java.io.CharArrayWriter
@ 2002-12-13 12:15 David King
2002-12-13 15:34 ` Mark Wielaard
0 siblings, 1 reply; 2+ messages in thread
From: David King @ 2002-12-13 12:15 UTC (permalink / raw)
To: mauve-discuss
[-- Attachment #1: Type: text/plain, Size: 793 bytes --]
Attached are new tests for java.io.CharArrayWriter, which
should test it up through the JDK 1.2.2 level. The results
of these tests with Classpath CVS and Kissme CVS are:
gnu.testlet.java.io.CharArrayWriter.BasicTests
----
PASS: gnu.testlet.java.io.CharArrayWriter.BasicTests: basic string (number 1)
PASS: gnu.testlet.java.io.CharArrayWriter.BasicTests: reset string (number 1)
PASS: gnu.testlet.java.io.CharArrayWriter.BasicTests: flush and close (number 1)
PASS: gnu.testlet.java.io.CharArrayWriter.BasicTests: writeTo (number 1)
0 of 4 tests failed
gnu.testlet.java.io.CharArrayWriter.ProtectedVars
----
PASS: gnu.testlet.java.io.CharArrayWriter.ProtectedVars: count (number 1)
PASS: gnu.testlet.java.io.CharArrayWriter.ProtectedVars: buffer (number 1)
0 of 2 tests failed
David King
[-- Attachment #2: CharArrayWriter patch --]
[-- Type: text/plain, Size: 6253 bytes --]
diff -u -r -N mauve-orig/gnu/testlet/java/io/CharArrayWriter/BasicTests.java mauve/gnu/testlet/java/io/CharArrayWriter/BasicTests.java
--- mauve-orig/gnu/testlet/java/io/CharArrayWriter/BasicTests.java 1969-12-31 18:00:00.000000000 -0600
+++ mauve/gnu/testlet/java/io/CharArrayWriter/BasicTests.java 2002-12-13 08:45:39.000000000 -0600
@@ -0,0 +1,93 @@
+/*************************************************************************
+/* BasicTests.java -- CharArrayWriter basic tests.
+/*
+/* Copyright (c) 2002 Free Software Foundation, Inc.
+/* Written by David J. King (david_king@softhome.net)
+/*
+/* 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
+/*************************************************************************/
+
+// Tags: JDK1.1
+
+package gnu.testlet.java.io.CharArrayWriter;
+
+import gnu.testlet.Testlet;
+import gnu.testlet.TestHarness;
+import java.io.*;
+
+public class BasicTests implements Testlet
+{
+
+public void
+test(TestHarness harness)
+{
+ /*
+ * Use several methods to write to the buffer
+ * and verify that the results are correct.
+ */
+ String firstLines = "The first lines\n" +
+ "of the test which include \uA000 inverted question\n" +
+ "and \u6666 e-with-hat";
+ String thirdLine = "a third line";
+ String expected = firstLines + ' ' + "third";
+ CharArrayWriter writer = new CharArrayWriter();
+ if (writer.size() != 0)
+ harness.check(writer.size(), 0, "empty size");
+ writer.write(firstLines, 0, firstLines.length());
+ writer.write(32);
+ char[] thirdLineArray = new char[thirdLine.length()];
+ thirdLine.getChars(0, thirdLine.length(), thirdLineArray, 0);
+ writer.write(thirdLineArray, 2, 5);
+ String extractedString = writer.toString();
+ harness.check(extractedString, expected, "basic string");
+ /*
+ * Clear the buffer and write some more, then see if
+ * toCharArray works.
+ */
+ writer.reset();
+ writer.write(thirdLine, 0, thirdLine.length());
+ char[] resultArray = writer.toCharArray();
+ boolean arrayEquals = resultArray.length == thirdLineArray.length;
+ if (arrayEquals)
+ for (int i=0; i < resultArray.length; i++)
+ if (resultArray[i] != thirdLineArray[i])
+ arrayEquals = false;
+ harness.checkPoint("reset string");
+ harness.check(arrayEquals);
+ /*
+ * Try flush and close and make sure they do nothing.
+ */
+ writer.flush();
+ writer.close();
+ extractedString = writer.toString();
+ harness.check(extractedString, thirdLine, "flush and close");
+ /*
+ * Make another CharArrayWriter and writeTo it.
+ */
+ CharArrayWriter secondWriter = new CharArrayWriter();
+ boolean pass = false;
+ try {
+ writer.writeTo(secondWriter);
+ extractedString = secondWriter.toString();
+ if (extractedString.equals(thirdLine))
+ pass = true;
+ } catch (IOException ie) {
+ // Nothing need be done, it is enough for pass to remain false
+ }
+ harness.checkPoint("writeTo");
+ harness.check(pass);
+}
+
+} // BasicTests
diff -u -r -N mauve-orig/gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java mauve/gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java
--- mauve-orig/gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java 1969-12-31 18:00:00.000000000 -0600
+++ mauve/gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java 2002-12-13 08:45:39.000000000 -0600
@@ -0,0 +1,64 @@
+/*************************************************************************
+/* ProtectedVars.java -- Test CharArrayWriter protected variables
+/*
+/* Copyright (c) 2002 Free Software Foundation, Inc.
+/* Written by David J. King (david_king@softhome.net)
+/*
+/* 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
+/*************************************************************************/
+
+// Tags: JDK1.1
+
+package gnu.testlet.java.io.CharArrayWriter;
+
+import gnu.testlet.Testlet;
+import gnu.testlet.TestHarness;
+import java.io.*;
+
+public class ProtectedVars extends CharArrayWriter implements Testlet
+{
+
+// Constructor for the test suite
+public
+ProtectedVars()
+{
+ super();
+}
+
+public void
+test(TestHarness harness)
+{
+ /*
+ * Put in a string, and see if the count is correct.
+ */
+ String str = "Here is a test string";
+ ProtectedVars writer = new ProtectedVars();
+ writer.write(str, 0, str.length());
+ harness.check(writer.count, str.length(), "count");
+ /*
+ * Then see if the stored buffer is correct.
+ */
+ char[] strArray = new char[str.length()];
+ str.getChars(0, str.length(), strArray, 0);
+ boolean pass = writer.buf.length >= strArray.length;
+ if (pass)
+ for (int i=0; i < writer.count; i++)
+ if (writer.buf[i] != strArray[i])
+ pass = false;
+ harness.checkPoint("buffer");
+ harness.check(pass);
+}
+
+} // ProtectedVars
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: New tests for java.io.CharArrayWriter
2002-12-13 12:15 New tests for java.io.CharArrayWriter David King
@ 2002-12-13 15:34 ` Mark Wielaard
0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2002-12-13 15:34 UTC (permalink / raw)
To: David King; +Cc: mauve-discuss
Hi,
On Fri, 2002-12-13 at 21:19, David King wrote:
> Attached are new tests for java.io.CharArrayWriter, which
> should test it up through the JDK 1.2.2 level.
Thanks! They have been added to CVS.
Cheers,
Mark
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-12-13 23:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-13 12:15 New tests for java.io.CharArrayWriter David King
2002-12-13 15:34 ` Mark Wielaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).