public inbox for mauve-discuss@sourceware.org
 help / color / mirror / Atom feed
* 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).