This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FYI: move CopyOnWriteArrayList tests


2008-03-25  Mario Torre  <neugens@aicas.com>

	* gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Clone.java:
	New test.
	* gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Equals.java:
	likewise.

Cheers,
Mario

-- 
Mario Torre, Software Developer, http://www.jroller.com/neugens/
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-StraÃe 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-53
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
GeschÃftsfÃhrer: Dr. James J. Hunt

Please, support open standards:
http://opendocumentfellowship.org/petition/
http://www.nosoftwarepatents.com/
### Eclipse Workspace Patch 1.0
#P mauve
Index: gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Equals.java
===================================================================
RCS file: gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Equals.java
diff -N gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Equals.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Equals.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,81 @@
+/* Equals.java -- test for equals.
+   Copyright (C) 2008 Mario Torre <mario.torre@aicas.com>
+This file is part of Mauve.
+
+Mauve 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, or (at your option)
+any later version.
+
+Mauve 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 Mauve; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.5
+
+package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+/**
+ * @author Mario Torre <neugens@aicas.com>
+ */
+public class Equals
+    implements Testlet
+{
+  public void test(TestHarness harness)
+  {
+    CopyOnWriteArrayList<String> one = new CopyOnWriteArrayList<String>();
+    for (int i = 0; i < 10; i++)
+      {
+        one.add("#" + i);
+      }
+    
+    CopyOnWriteArrayList<String> two =
+      (CopyOnWriteArrayList<String>) one.clone();
+    
+    harness.checkPoint("cloned CopyOnWriteArrayList");
+    harness.check(one.equals(two));
+    
+    two.clear();
+    two = new CopyOnWriteArrayList<String>();
+    for (int i = 0; i < 10; i++)
+      {
+        two.add("#" + i);
+      }
+    
+    harness.checkPoint("both CopyOnWriteArrayList, same elements, different " +
+    		           "instances");
+    harness.check(one.equals(two));
+    
+    List<String> someList = new ArrayList<String>();
+    for (int i = 0; i < 10; i++)
+      {
+        someList.add("#" + i);
+      }
+    
+    harness.checkPoint("Different list, CopyOnWriteArrayList and ArrayList, " +
+                       "but same elements");
+    harness.check(one.equals(someList));
+    
+    // remove one element
+    one.remove(one.size() - 1);
+    
+    harness.checkPoint("removed elements from CopyOnWriteArrayList");
+    harness.check(!one.equals(two));
+    harness.check(!one.equals(someList));
+  }
+}
Index: gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Clone.java
===================================================================
RCS file: gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Clone.java
diff -N gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Clone.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Clone.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,59 @@
+/* Clone.java -- test for clone.
+   Copyright (C) 2008 Mario Torre <mario.torre@aicas.com>
+This file is part of Mauve.
+
+Mauve 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, or (at your option)
+any later version.
+
+Mauve 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 Mauve; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.5
+
+package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList;
+
+import java.util.Iterator;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+/**
+ * @author Mario Torre <neugens@aicas.com>
+ */
+public class Clone
+    implements Testlet
+{
+  public void test(TestHarness harness)
+  {
+    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
+    for (int i = 0; i < 10; i++)
+      {
+        list.add("#" + i);
+      }
+    
+    CopyOnWriteArrayList<String> cloned =
+      (CopyOnWriteArrayList<String>) list.clone();
+    
+    harness.check(list.size() == 10);
+    harness.check(cloned.size() == list.size());
+    
+    Iterator<String> original = list.iterator();
+    for (String element : cloned)
+      {
+        harness.check(original.hasNext());
+        harness.check(element, original.next());
+      }
+  }
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]