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.Map;
21e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughesimport junit.framework.TestCase;
22e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
23e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughespublic class Support_MapTest2 extends TestCase {
24e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
258d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    Map<String, String> map;
26e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
278d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public Support_MapTest2(Map<String, String> m) {
288d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        super();
298d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        map = m;
308d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        if (!map.isEmpty()) {
318d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("Map must be empty");
328d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
338d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
34e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
358d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    @Override
36e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes    public void runTest() {
378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
388d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            map.put("one", "1");
398d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("size should be one", 1, map.size());
408d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            map.clear();
418d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("size should be zero", 0, map.size());
428d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertTrue("Should not have entries", !map.entrySet().iterator()
438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    .hasNext());
448d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertTrue("Should not have keys", !map.keySet().iterator()
458d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    .hasNext());
468d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertTrue("Should not have values", !map.values().iterator()
478d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    .hasNext());
488d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (UnsupportedOperationException e) {
498d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
50e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
518d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
528d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            map.put("one", "1");
538d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("size should be one", 1, map.size());
548d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            map.remove("one");
558d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("size should be zero", 0, map.size());
568d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertTrue("Should not have entries", !map.entrySet().iterator()
578d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    .hasNext());
588d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertTrue("Should not have keys", !map.keySet().iterator()
598d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    .hasNext());
608d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertTrue("Should not have values", !map.values().iterator()
618d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    .hasNext());
628d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (UnsupportedOperationException e) {
638d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
648d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
65e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
66e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes}
67