2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
6 * The Java Pathfinder core (jpf-core) platform is licensed under the
7 * Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0.
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 package gov.nasa.jpf.util;
21 import gov.nasa.jpf.util.test.TestJPF;
22 import org.junit.Test;
25 * regression test for IdentityArrayObjectSet
27 public class IdentityArrayObjectSetTest extends TestJPF {
30 public void testBasic(){
34 IdentityArrayObjectSet<String> s = new IdentityArrayObjectSet<String>();
36 assertTrue( s.isEmpty());
37 System.out.println(s);
39 assertTrue( s.add(a));
40 assertTrue( s.size() == 1);
41 assertTrue( s.contains(a));
42 System.out.println(s);
44 assertFalse( s.add(a)); // already in
45 assertTrue( s.size() == 1);
46 System.out.println(s);
48 assertTrue( s.add(b));
49 assertTrue( s.size() == 2);
50 assertTrue( s.contains(b));
51 System.out.println(s);
53 assertTrue( s.remove(a));
54 assertTrue( s.size() == 1);
55 assertFalse( s.contains(a));
56 assertTrue( s.contains(b));
57 System.out.println(s);
59 assertFalse( s.remove(a)); // can't remove it a second time
60 System.out.println(s);
62 assertTrue( s.remove(b));
63 assertTrue( s.isEmpty());
64 System.out.println(s);