001    /*
002     * $Id: DeclaredMethodCacheTest.java 1188000 2011-10-23 23:10:24Z mcucchiara $
003     *
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     *   http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    package org.apache.commons.ognl.internal;
023    
024    import org.apache.commons.ognl.internal.entry.DeclaredMethodCacheEntry;
025    import org.apache.commons.ognl.internal.entry.DeclaredMethodCacheEntryFactory;
026    import org.apache.commons.ognl.test.objects.Root;
027    import org.junit.Test;
028    
029    import java.lang.reflect.Method;
030    import java.util.List;
031    import java.util.Map;
032    
033    import static junit.framework.Assert.assertNotNull;
034    import static junit.framework.Assert.assertTrue;
035    
036    /**
037     * User: Maurizio Cucchiara
038     * Date: 10/15/11
039     * Time: 9:18 AM
040     */
041    public class DeclaredMethodCacheTest
042    {
043        Cache<DeclaredMethodCacheEntry, Map<String, List<Method>>> cache =
044            new ConcurrentHashMapCache<DeclaredMethodCacheEntry, Map<String, List<Method>>>(new DeclaredMethodCacheEntryFactory( ) );
045    
046        @Test
047        public void testStaticGet( )
048            throws Exception
049        {
050            Map<String, List<Method>> methods = cache.get( new DeclaredMethodCacheEntry( Root.class, DeclaredMethodCacheEntry.MethodType.STATIC) );
051            assertNotNull( methods );
052            assertTrue( methods.containsKey( "getStaticInt" ) );
053        }
054    
055        @Test
056        public void testNonStaticGet( )
057            throws Exception
058        {
059            Map<String, List<Method>> methods = cache.get( new DeclaredMethodCacheEntry( Root.class, DeclaredMethodCacheEntry.MethodType.NON_STATIC ) );
060            assertNotNull( methods );
061            assertTrue( methods.containsKey( "format" ) );
062        }
063    
064    }