1f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.support; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Collection; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.TreeSet; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 24229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Collection 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 26f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughespublic class Support_CollectionTest extends junit.framework.TestCase { 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection<Integer> col; // must contain the Integers 0 to 99 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Support_CollectionTest(String p1) { 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(p1); 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Support_CollectionTest(String p1, Collection<Integer> c) { 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(p1); 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project col = c; 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void runTest() { 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new Support_UnmodifiableCollectionTest("", col).runTest(); 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // setup 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection<Integer> myCollection = new TreeSet<Integer>(); 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project myCollection.add(new Integer(101)); 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project myCollection.add(new Integer(102)); 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project myCollection.add(new Integer(103)); 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // add 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - a) add did not work", col.add(new Integer( 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 101))); 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - b) add did not work", col 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(101))); 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // remove 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - a) remove did not work", col 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .remove(new Integer(101))); 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - b) remove did not work", !col 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(101))); 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // addAll 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - a) addAll failed", col 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .addAll(myCollection)); 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - b) addAll failed", col 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsAll(myCollection)); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // containsAll 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - a) containsAll failed", col 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsAll(myCollection)); 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project col.remove(new Integer(101)); 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - b) containsAll failed", !col 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsAll(myCollection)); 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // removeAll 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - a) removeAll failed", col 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .removeAll(myCollection)); 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - b) removeAll failed", !col 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .removeAll(myCollection)); // should not change the colletion 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // the 2nd time around 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - c) removeAll failed", !col 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(102))); 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - d) removeAll failed", !col 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(103))); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // retianAll 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project col.addAll(myCollection); 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - a) retainAll failed", col 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .retainAll(myCollection)); 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - b) retainAll failed", !col 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .retainAll(myCollection)); // should not change the colletion 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // the 2nd time around 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - c) retainAll failed", col 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .containsAll(myCollection)); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - d) retainAll failed", !col 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(0))); 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - e) retainAll failed", !col 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(50))); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // clear 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project col.clear(); 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - a) clear failed", col.isEmpty()); 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("CollectionTest - b) clear failed", !col 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(new Integer(101))); 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 107