Return-Path: Delivered-To: apmail-tiles-commits-archive@minotaur.apache.org Received: (qmail 29290 invoked from network); 22 Apr 2010 18:58:52 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 22 Apr 2010 18:58:52 -0000 Received: (qmail 43100 invoked by uid 500); 22 Apr 2010 18:58:52 -0000 Delivered-To: apmail-tiles-commits-archive@tiles.apache.org Received: (qmail 43076 invoked by uid 500); 22 Apr 2010 18:58:52 -0000 Mailing-List: contact commits-help@tiles.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tiles.apache.org Delivered-To: mailing list commits@tiles.apache.org Received: (qmail 43069 invoked by uid 99); 22 Apr 2010 18:58:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Apr 2010 18:58:52 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Apr 2010 18:58:48 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 1130F23889D7; Thu, 22 Apr 2010 18:58:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r937008 - in /tiles/sandbox/trunk/tiles-request/tiles-request-api/src: main/java/org/apache/tiles/request/collection/ test/java/org/apache/tiles/request/collection/ test/java/org/apache/tiles/request/scope/ Date: Thu, 22 Apr 2010 18:58:04 -0000 To: commits@tiles.apache.org From: apetrelli@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100422185805.1130F23889D7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: apetrelli Date: Thu Apr 22 18:58:04 2010 New Revision: 937008 URL: http://svn.apache.org/viewvc?rev=937008&view=rev Log: TILESSB-31 Fixed something, added more tests. Added: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/ tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AbstractEnumerationMapTest.java (with props) tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AddableParameterMapTest.java (with props) Modified: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AbstractEnumerationMap.java tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AddableParameterMap.java tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/scope/ReflectionContextResolverTest.java Modified: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AbstractEnumerationMap.java URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AbstractEnumerationMap.java?rev=937008&r1=937007&r2=937008&view=diff ============================================================================== --- tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AbstractEnumerationMap.java (original) +++ tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AbstractEnumerationMap.java Thu Apr 22 18:58:04 2010 @@ -1,7 +1,9 @@ package org.apache.tiles.request.collection; import java.util.Enumeration; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import org.apache.tiles.request.collection.extractor.HasKeys; @@ -19,15 +21,21 @@ public abstract class AbstractEnumeratio public boolean equals(Object o) { HasKeys otherRequest = ((AbstractEnumerationMap) o).request; boolean retValue = true; + Set otherKeys = new HashSet(); + for (Enumeration attribs = otherRequest.getKeys(); attribs + .hasMoreElements();) { + otherKeys.add(attribs.nextElement()); + } for (Enumeration attribs = request.getKeys(); attribs .hasMoreElements() && retValue;) { String parameterName = attribs.nextElement(); retValue = request.getValue(parameterName).equals( otherRequest.getValue(parameterName)); + otherKeys.remove(parameterName); } - return retValue; + return retValue && otherKeys.isEmpty(); } /** {@inheritDoc} */ Modified: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AddableParameterMap.java URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AddableParameterMap.java?rev=937008&r1=937007&r2=937008&view=diff ============================================================================== --- tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AddableParameterMap.java (original) +++ tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/AddableParameterMap.java Thu Apr 22 18:58:04 2010 @@ -21,7 +21,6 @@ package org.apache.tiles.request.collection; import java.util.Collection; -import java.util.Enumeration; import java.util.Map; import java.util.Set; @@ -55,29 +54,11 @@ public class AddableParameterMap extends return new HeaderEntrySet(); } - - /** {@inheritDoc} */ - @Override - public boolean equals(Object o) { - EnumeratedValuesExtractor otherRequest = ((AddableParameterMap) o).request; - boolean retValue = true; - synchronized (request) { - for (Enumeration attribs = request.getKeys(); attribs - .hasMoreElements() - && retValue;) { - String parameterName = attribs.nextElement(); - retValue = request.getValue(parameterName).equals( - otherRequest.getValue(parameterName)); - } - } - - return retValue; - } - /** {@inheritDoc} */ public String put(String key, String value) { + String oldValue = request.getValue(key); request.setValue(key, value); - return value; + return oldValue; } Added: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AbstractEnumerationMapTest.java URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AbstractEnumerationMapTest.java?rev=937008&view=auto ============================================================================== --- tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AbstractEnumerationMapTest.java (added) +++ tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AbstractEnumerationMapTest.java Thu Apr 22 18:58:04 2010 @@ -0,0 +1,141 @@ +/** + * + */ +package org.apache.tiles.request.collection; + +import static org.easymock.classextension.EasyMock.*; +import static org.junit.Assert.*; + +import java.util.Enumeration; + +import org.apache.tiles.request.collection.extractor.HasKeys; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests {@link AbstractEnumerationMap}. + * + * @version $Rev$ $Date$ + */ +public class AbstractEnumerationMapTest { + + private HasKeys request; + + private AbstractEnumerationMap map; + + /** + * Sets up the test. + */ + @SuppressWarnings("unchecked") + @Before + public void setUp() { + request = createMock(HasKeys.class); + map = createMockBuilder(AbstractEnumerationMap.class).withConstructor( + request).createMock(); + } + + /** + * Test method for {@link org.apache.tiles.request.collection.AbstractEnumerationMap#hashCode()}. + */ + @SuppressWarnings("unchecked") + @Test + public void testHashCode() { + Enumeration keys = createMock(Enumeration.class); + + expect(request.getKeys()).andReturn(keys); + + expect(keys.hasMoreElements()).andReturn(true); + expect(keys.nextElement()).andReturn("first"); + expect(keys.hasMoreElements()).andReturn(true); + expect(keys.nextElement()).andReturn("second"); + expect(keys.hasMoreElements()).andReturn(false); + + Integer value1 = 1; + + expect(request.getValue("first")).andReturn(value1); + expect(request.getValue("second")).andReturn(null); + + replay(request, map, keys); + assertEquals(("first".hashCode() ^ value1.hashCode()) + + ("second".hashCode() ^ 0), map.hashCode()); + verify(request, map, keys); + } + + /** + * Test method for {@link org.apache.tiles.request.collection.AbstractEnumerationMap#equals(java.lang.Object)}. + */ + @SuppressWarnings("unchecked") + @Test + public void testEqualsObject() { + HasKeys otherRequest = createMock(HasKeys.class); + AbstractEnumerationMap otherMap = createMockBuilder( + AbstractEnumerationMap.class).withConstructor(otherRequest) + .createMock(); + Enumeration keys = createMock(Enumeration.class); + Enumeration otherKeys = createMock(Enumeration.class); + + expect(request.getKeys()).andReturn(keys); + expect(otherRequest.getKeys()).andReturn(otherKeys); + + expect(keys.hasMoreElements()).andReturn(true); + expect(keys.nextElement()).andReturn("first"); + expect(keys.hasMoreElements()).andReturn(true); + expect(keys.nextElement()).andReturn("second"); + expect(keys.hasMoreElements()).andReturn(false); + + expect(request.getValue("first")).andReturn(1); + expect(request.getValue("second")).andReturn(2); + + expect(otherKeys.hasMoreElements()).andReturn(true); + expect(otherKeys.nextElement()).andReturn("first"); + expect(otherKeys.hasMoreElements()).andReturn(true); + expect(otherKeys.nextElement()).andReturn("second"); + expect(otherKeys.hasMoreElements()).andReturn(false); + + expect(otherRequest.getValue("first")).andReturn(1); + expect(otherRequest.getValue("second")).andReturn(2); + + replay(request, map, otherRequest, otherMap, keys, otherKeys); + assertTrue(map.equals(otherMap)); + verify(request, map, otherRequest, otherMap, keys, otherKeys); + } + + /** + * Test method for {@link org.apache.tiles.request.collection.AbstractEnumerationMap#equals(java.lang.Object)}. + */ + @SuppressWarnings("unchecked") + @Test + public void testEqualsObjectFalse() { + HasKeys otherRequest = createMock(HasKeys.class); + AbstractEnumerationMap otherMap = createMockBuilder( + AbstractEnumerationMap.class).withConstructor(otherRequest) + .createMock(); + Enumeration keys = createMock(Enumeration.class); + Enumeration otherKeys = createMock(Enumeration.class); + + expect(request.getKeys()).andReturn(keys); + expect(otherRequest.getKeys()).andReturn(otherKeys); + + expect(keys.hasMoreElements()).andReturn(true); + expect(keys.nextElement()).andReturn("first"); + expect(keys.hasMoreElements()).andReturn(true); + expect(keys.nextElement()).andReturn("second"); + expect(keys.hasMoreElements()).andReturn(false); + + expect(request.getValue("first")).andReturn(1); + expect(request.getValue("second")).andReturn(2); + + expect(otherKeys.hasMoreElements()).andReturn(true); + expect(otherKeys.nextElement()).andReturn("first"); + expect(otherKeys.hasMoreElements()).andReturn(true); + expect(otherKeys.nextElement()).andReturn("second"); + expect(otherKeys.hasMoreElements()).andReturn(false); + + expect(otherRequest.getValue("first")).andReturn(1); + expect(otherRequest.getValue("second")).andReturn(3); + + replay(request, map, otherRequest, otherMap, keys, otherKeys); + assertFalse(map.equals(otherMap)); + verify(request, map, otherRequest, otherMap, keys, otherKeys); + } +} Propchange: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AbstractEnumerationMapTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AbstractEnumerationMapTest.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Added: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AddableParameterMapTest.java URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AddableParameterMapTest.java?rev=937008&view=auto ============================================================================== --- tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AddableParameterMapTest.java (added) +++ tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AddableParameterMapTest.java Thu Apr 22 18:58:04 2010 @@ -0,0 +1,90 @@ +/** + * + */ +package org.apache.tiles.request.collection; + +import static org.easymock.classextension.EasyMock.*; +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.tiles.request.collection.extractor.EnumeratedValuesExtractor; +import org.apache.tiles.request.util.MapEntry; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests {@link AddableParameterMap}. + * + * @version $Rev$ $Date$ + */ +public class AddableParameterMapTest { + + private AddableParameterMap map; + + private EnumeratedValuesExtractor extractor; + + /** + * Sets up the test. + */ + @Before + public void setUp() { + extractor = createMock(EnumeratedValuesExtractor.class); + map = new AddableParameterMap(extractor); + } + + /** + * Test method for {@link org.apache.tiles.request.collection.AddableParameterMap#entrySet()}. + */ + @Test + public void testEntrySet() { + Set> entrySet = map.entrySet(); + MapEntry entry1 = new MapEntry("one", "value1", false); + MapEntry entry2 = new MapEntry("two", "value2", false); + List> entries = new ArrayList>(2); + entries.add(entry1); + entries.add(entry2); + + extractor.setValue("one", "value1"); + expectLastCall().times(2); + extractor.setValue("two", "value2"); + replay(extractor); + entrySet.add(entry1); + entrySet.addAll(entries); + verify(extractor); + } + + /** + * Test method for {@link org.apache.tiles.request.collection.AddableParameterMap#put(java.lang.String, java.lang.String)}. + */ + @Test + public void testPut() { + expect(extractor.getValue("one")).andReturn(null); + extractor.setValue("one", "value1"); + + replay(extractor); + assertNull(map.put("one", "value1")); + verify(extractor); + } + + /** + * Test method for {@link org.apache.tiles.request.collection.AddableParameterMap#putAll(java.util.Map)}. + */ + @Test + public void testPutAll() { + Map map = new HashMap(); + map.put("one", "value1"); + map.put("two", "value2"); + + extractor.setValue("one", "value1"); + extractor.setValue("two", "value2"); + + replay(extractor); + this.map.putAll(map); + verify(extractor); + } +} Propchange: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AddableParameterMapTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/collection/AddableParameterMapTest.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Modified: tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/scope/ReflectionContextResolverTest.java URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/scope/ReflectionContextResolverTest.java?rev=937008&r1=937007&r2=937008&view=diff ============================================================================== --- tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/scope/ReflectionContextResolverTest.java (original) +++ tiles/sandbox/trunk/tiles-request/tiles-request-api/src/test/java/org/apache/tiles/request/scope/ReflectionContextResolverTest.java Thu Apr 22 18:58:04 2010 @@ -153,6 +153,7 @@ public class ReflectionContextResolverTe return threeScope; } + @SuppressWarnings("unused") private Map getPrivateScope() { return null; }