/* * Copyright 2004-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.webflow.context.servlet; import java.util.HashMap; import java.util.Map; import junit.framework.TestCase; import org.springframework.mock.web.MockServletContext; /** * Test case for the {@link HttpServletContextMap} class. * * @author Ulrik Sandberg * @author Erwin Vervaet */ public class HttpServletContextMapTests extends TestCase { private HttpServletContextMap tested; private MockServletContext context; protected void setUp() throws Exception { super.setUp(); context = new MockServletContext(); // a fresh MockServletContext seems to already contain an element; // that's confusing, so we remove it context.removeAttribute("javax.servlet.context.tempdir"); tested = new HttpServletContextMap(context); tested.put("SomeKey", "SomeValue"); } protected void tearDown() throws Exception { super.tearDown(); context = null; tested = null; } public void testIsEmpty() { tested.remove("SomeKey"); assertEquals("size,", 0, tested.size()); assertEquals("isEmpty,", true, tested.isEmpty()); } public void testSizeAddOne() { assertEquals("size,", 1, tested.size()); } public void testSizeAddTwo() { tested.put("SomeOtherKey", "SomeOtherValue"); assertEquals("size,", 2, tested.size()); } public void testContainsKey() { assertEquals("containsKey,", true, tested.containsKey("SomeKey")); } public void testContainsValue() { assertTrue(tested.containsValue("SomeValue")); } public void testGet() { assertEquals("get,", "SomeValue", tested.get("SomeKey")); } public void testPut() { Object old = tested.put("SomeKey", "SomeNewValue"); assertEquals("old value,", "SomeValue", old); assertEquals("new value,", "SomeNewValue", tested.get("SomeKey")); } public void testRemove() { Object old = tested.remove("SomeKey"); assertEquals("old value,", "SomeValue", old); assertNull("should be gone", tested.get("SomeKey")); } public void testPutAll() { Map<String, Object> otherMap = new HashMap<String, Object>(); otherMap.put("SomeOtherKey", "SomeOtherValue"); otherMap.put("SomeKey", "SomeUpdatedValue"); tested.putAll(otherMap); assertEquals("SomeOtherValue", tested.get("SomeOtherKey")); assertEquals("SomeUpdatedValue", tested.get("SomeKey")); } public void testClear() { tested.clear(); assertTrue(tested.isEmpty()); } public void testKeySet() { assertEquals(1, tested.keySet().size()); assertTrue(tested.keySet().contains("SomeKey")); } public void testValues() { assertEquals(1, tested.values().size()); assertTrue(tested.values().contains("SomeValue")); } public void testEntrySet() { assertEquals(1, tested.entrySet().size()); assertEquals("SomeKey", tested.entrySet().iterator().next().getKey()); assertEquals("SomeValue", tested.entrySet().iterator().next().getValue()); } }