package org.bifrost.xmlio.config.test;
import junit.framework.TestCase;
import org.bifrost.xmlio.config.ObjectMap;
import org.bifrost.xmlio.config.PropertyMap;
import org.bifrost.xmlio.config.test.helpers.TestHelperObjectMap;
import org.bifrost.xmlio.config.test.helpers.TestHelperObjectMapEmpty;
/**
* <p>
* </p>
* <p>
* Created: Oct 16, 2003<br/>
* Copyright: Copyright (c) 2003<br/>
* Assumptions: none<br/>
* Requires: nothing<br/>
* Required by: nothing<br/>
* Revision History:<br/>
* <br/>
* </p>
* <p>Example:</p>
* <pre>
* </pre>
* <p>Conventions:<br/>
* <ul>
* </ul>
* </p>
* @author Donald Kittle <donald@bifrost.org>
* @version 1.0
* @stereotype ??
*/
public class UnitTestObjectMap extends TestCase
{
private final static String _VERSION =
"$Id: UnitTestObjectMap.java,v 1.6 2004/05/05 15:40:34 donald Exp $";
public UnitTestObjectMap(String name)
{
super(name);
}
public void testSimpleCreateFromClass()
{
assertNull(ObjectMap.createFromClass(null));
ObjectMap om = ObjectMap.createFromClass(TestHelperObjectMapEmpty.class);
assertNotNull(om);
String thisName =
nameWithoutPackage(TestHelperObjectMapEmpty.class.getName());
assertEquals(thisName, om.getName());
assertEquals(thisName, om.getXmlName());
assertNotNull(om.getPropertyMap());
assertEquals(om.getPropertyMap().size(), 0);
}
public void testCreateFromClass()
{
assertNull(ObjectMap.createFromClass(null));
ObjectMap om = ObjectMap.createFromClass(TestHelperObjectMap.class);
assertNotNull(om);
String thisName = nameWithoutPackage(TestHelperObjectMap.class.getName());
assertEquals(thisName, om.getName());
assertEquals(thisName, om.getXmlName());
assertNotNull(om.getPropertyMap());
assertNull(om.getPropertyMapFromAlias("fooBar"));
assertNotNull(om.getPropertyMapFromAlias("id"));
assertNotNull(om.getPropertyMapFromAlias("name"));
assertNotNull(om.getPropertyMapFromAlias("age"));
assertNotNull(om.getPropertyMapFromAlias("birthday"));
}
public void testPropertyMap()
{
assertNull(ObjectMap.createFromClass(null));
ObjectMap om = ObjectMap.createFromClass(TestHelperObjectMap.class);
assertNotNull(om);
assertNotNull(om.getPropertyMapFromAlias("id"));
PropertyMap pm = om.getPropertyMapFromAlias("id");
assertTrue("id".equals(pm.getPropertyName()));
assertTrue("id".equals(pm.getPropertyXmlName()));
assertTrue("long".equals(pm.getPropertyType().getName()));
}
/**
* Take a fully qualified name of a class and return the class name without
* any package information.
* @param source the fully qualified name of the class
* @return the name of the class without any package information
*/
private static String nameWithoutPackage(String source)
{
int index = source.lastIndexOf(".");
if (index < 0 || index == source.length())
return source;
return source.substring(index + 1);
} // end nameWithoutPackage()
} // end UnitTestObjectMap Class