tests/libjava-mauve/src/gnu/testlet/java/util/Iterator/ConcurrentModification.java
branchjk_new_structure
changeset 1541 75c2e24dea9a
parent 1540 92ac284961c1
child 1542 be11db817bcf
--- a/tests/libjava-mauve/src/gnu/testlet/java/util/Iterator/ConcurrentModification.java	Fri Jul 20 21:39:51 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-// Tags: JDK1.2
-
-// Copyright (C) 2006 Red Hat, Inc.
-
-// 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, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.
-
-package gnu.testlet.java.util.Iterator;
-
-import gnu.testlet.TestHarness;
-import gnu.testlet.Testlet;
-
-import java.util.*;
-
-/**
- *  For a variety of collections classes, this test modifies the backing 
- *  store underlying an active iterator, and check that Iterator.next()
- *  correctly throws ConcurrentModificationException, while hasNext(), 
- *  hasPrevious(), previousIndex(), and nextIndex() do not.
- */
-public class ConcurrentModification implements Testlet
-{
-  TestHarness harness;
-  
-  public void test(TestHarness harness)      
-  {
-    this.harness = harness;
-    testMapIterator(new HashMap());
-    testMapIterator(new TreeMap());
-    testMapIterator(new Hashtable());
-    testMapIterator(new LinkedHashMap());
-    testMapIterator(new IdentityHashMap());
-    testMapIterator(new WeakHashMap());
-    testMapIterator(Collections.synchronizedMap(new HashMap()));
-    testListIterator(new ArrayList());
-    testListIterator(new Vector());
-    testListIterator(new LinkedList());
-    testListIterator(Collections.synchronizedList(new ArrayList()));
-    testCollectionIterator(new HashSet());
-    testCollectionIterator(new LinkedHashSet());
-    testCollectionIterator(new TreeSet());
-  }
-  
-  void testMapIterator(Map map)
-  {
-    map.put("1", "value");
-    map.put("2", "value");
-    testIterator(map.keySet());
-    map.clear();
-    map.put("1", "value");
-    map.put("2", "value");
-    testIterator(map.values());
-  }
-  
-  void testListIterator(List l)
-  {
-    l.add("1");
-    l.add("2");
-    testIterator(l);
-    l.clear();
-    l.add("1");
-    l.add("2");
-    l.add("3");
-    testIterator(l.subList(0, 3));
-    l.clear();
-    l.add("1");
-    l.add("2");
-    l.add("3");
-    testListHasPrevious(l);
-  }
-  
-  void testCollectionIterator(Collection c)
-  {
-    c.add("1");
-    c.add("2");
-    testIterator(c);
-  }
-  
-  void testIterator(Collection c)
-  {
-    Iterator iter = c.iterator();
-
-    String element = (String) iter.next();
-    c.remove(element); // Invalid concurrent modification.
-
-    boolean hasNext = false;
-    try
-    {
-      hasNext = iter.hasNext();
-    }
-    catch (ConcurrentModificationException x)
-    {
-      harness.fail(c.getClass() + ".iterator().hasNext() throws " + x);
-      return;
-    }
-    
-    try
-    {
-      element = (String) iter.next();
-    }
-    catch (ConcurrentModificationException x)
-    {
-      harness.check(true); // OK!
-    }
-  }
-
-  void testListHasPrevious(List l)
-  {
-    ListIterator iter = l.listIterator();
-
-    String element = (String) iter.next();
-    l.remove(element); // Invalid concurrent modification.
-
-    int idx = -1;
-    boolean hasPrevious = false;
-    try
-    {
-      hasPrevious = iter.hasPrevious();
-    }
-    catch (ConcurrentModificationException x)
-    {
-      harness.fail(l.getClass() + ".listIterator().hasPrevious() throws " + x);
-      return;
-    }
-
-    try
-    {
-      idx = iter.nextIndex();
-    }
-    catch (ConcurrentModificationException x)
-    {
-      harness.fail(l.getClass() + ".listIterator().nextIndex() throws " + x);
-      return;
-    }
-
-    try
-    {
-      idx = iter.previousIndex();
-    }
-    catch (ConcurrentModificationException x)
-    {
-      harness.fail(l.getClass() + ".listIterator().previousIndex() throws " + x);
-      return;
-    }
-    
-    try
-    {
-      element = (String) iter.next();
-    }
-    catch (ConcurrentModificationException x)
-    {
-      harness.check(true); // OK!
-    }    
-  }
-}