/* * Copyright 2002-2006 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.core; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import junit.framework.TestCase; import org.springframework.beans.TestBean; /** * @author Rob Harrop */ public class ConventionsTests extends TestCase { public void testSimpleObject() { TestBean testBean = new TestBean(); assertEquals("Incorrect singular variable name", "testBean", Conventions.getVariableName(testBean)); } public void testArray() { TestBean[] testBeans = new TestBean[0]; assertEquals("Incorrect plural array form", "testBeanList", Conventions.getVariableName(testBeans)); } public void testCollections() { List list = new ArrayList(); list.add(new TestBean()); assertEquals("Incorrect plural List form", "testBeanList", Conventions.getVariableName(list)); Set set = new HashSet(); set.add(new TestBean()); assertEquals("Incorrect plural Set form", "testBeanList", Conventions.getVariableName(set)); List emptyList = new ArrayList(); try { Conventions.getVariableName(emptyList); fail("Should not be able to generate name for empty collection"); } catch(IllegalArgumentException ex) { // success } } public void testAttributeNameToPropertyName() throws Exception { assertEquals("transactionManager", Conventions.attributeNameToPropertyName("transaction-manager")); assertEquals("pointcutRef", Conventions.attributeNameToPropertyName("pointcut-ref")); assertEquals("lookupOnStartup", Conventions.attributeNameToPropertyName("lookup-on-startup")); } public void testGetQualifiedAttributeName() throws Exception { String baseName = "foo"; Class cls = String.class; String desiredResult = "java.lang.String.foo"; assertEquals(desiredResult, Conventions.getQualifiedAttributeName(cls, baseName)); } }