1e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes/*
2e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more
3e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * contributor license agreements.  See the NOTICE file distributed with
4e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * this work for additional information regarding copyright ownership.
5e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0
6e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * (the "License"); you may not use this file except in compliance with
7e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * the License.  You may obtain a copy of the License at
8e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes *
9e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes *
11e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * Unless required by applicable law or agreed to in writing, software
12e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * distributed under the License is distributed on an "AS IS" BASIS,
13e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * See the License for the specific language governing permissions and
15e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * limitations under the License.
16e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes */
17e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
18e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughespackage tests.support;
19e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
20e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughesimport java.util.Set;
21e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
22e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughespublic class Support_SetTest extends junit.framework.TestCase {
23e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
248d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    Set<Integer> set; // must contain only the Integers 0 to 99
25e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
268d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public Support_SetTest(String p1) {
278d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        super(p1);
288d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
29e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
308d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public Support_SetTest(String p1, Set<Integer> s) {
318d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        super(p1);
328d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        set = s;
338d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
34e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
358d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    @Override
36e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes    public void runTest() {
378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        // add
388d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        assertTrue("Set Test - Adding a duplicate element changed the set",
398d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                !set.add(new Integer(50)));
408d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        assertTrue("Set Test - Removing an element did not change the set", set
418d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                .remove(new Integer(50)));
428d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        assertTrue(
438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                "Set Test - Adding and removing a duplicate element failed to remove it",
448d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                !set.contains(new Integer(50)));
458d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        set.add(new Integer(50));
468d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        new Support_CollectionTest("", set).runTest();
478d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
48e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes}
49