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
25e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes	Map<String, String> map;
26e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
27e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes	public Support_MapTest2(Map<String, String> m) {
28e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		super();
29e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		map = m;
30e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		if (!map.isEmpty()) {
31e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			fail("Map must be empty");
32e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		}
33e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes	}
34e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
35e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes	@Override
36e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes    public void runTest() {
37e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		try {
38e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			map.put("one", "1");
39e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertEquals("size should be one", 1, map.size());
40e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			map.clear();
41e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertEquals("size should be zero", 0, map.size());
42e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertTrue("Should not have entries", !map.entrySet().iterator()
43e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes					.hasNext());
44e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertTrue("Should not have keys", !map.keySet().iterator()
45e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes					.hasNext());
46e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertTrue("Should not have values", !map.values().iterator()
47e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes					.hasNext());
48e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		} catch (UnsupportedOperationException e) {
49e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		}
50e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
51e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		try {
52e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			map.put("one", "1");
53e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertEquals("size should be one", 1, map.size());
54e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			map.remove("one");
55e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertEquals("size should be zero", 0, map.size());
56e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertTrue("Should not have entries", !map.entrySet().iterator()
57e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes					.hasNext());
58e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertTrue("Should not have keys", !map.keySet().iterator()
59e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes					.hasNext());
60e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes			assertTrue("Should not have values", !map.values().iterator()
61e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes					.hasNext());
62e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		} catch (UnsupportedOperationException e) {
63e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes		}
64e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes	}
65e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
66e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes}
67