package org.springmodules.jcr.mapping; import java.util.Collection; import java.util.Iterator; import junit.framework.TestCase; import org.apache.portals.graffito.jcr.mapper.model.ClassDescriptor; import org.apache.portals.graffito.jcr.mapper.model.MappingDescriptor; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; public class MappingDescriptorFactoryBeanTests extends TestCase { MappingDescriptorFactoryBean factory; Resource mappingA, mappingB; MappingDescriptor mappingDescriptor1, mappingDescriptor2; Resource[] res; protected void setUp() throws Exception { super.setUp(); factory = new MappingDescriptorFactoryBean(); mappingA = new ClassPathResource("/org/springmodules/jcr/mapping/mappingA.xml"); mappingB = new ClassPathResource("/org/springmodules/jcr/mapping/mappingB.xml"); res = new Resource[] { mappingA, mappingB }; } protected void tearDown() throws Exception { super.tearDown(); } /* * Test method for 'org.springmodules.jcr.mapping.MappingDescriptorFactoryBean.afterPropertiesSet()' */ public void testAfterPropertiesSet() throws Exception { try { factory.afterPropertiesSet(); fail("should have thrown IllegalArgumentException"); } catch (Exception e) { // it's okay } factory.setMappings(res); assertSame(res, factory.getMappings()); factory.afterPropertiesSet(); } /* * Test method for 'org.springmodules.jcr.mapping.MappingDescriptorFactoryBean.createMappingDescriptor()' */ public void testCreateMappingDescriptor() throws Exception { factory.setMappings(res); factory.afterPropertiesSet(); MappingDescriptor descriptor = (MappingDescriptor) factory.getObject(); Collection col = descriptor.getClassDescriptors(); assertEquals(" different number of descriptors ", 2, col.size()); Iterator iter = col.iterator(); ClassDescriptor descr = (ClassDescriptor) iter.next(); assertEquals("wrong class name descriptor ", "org.springmodules.jcr.mapping.A", descr.getClassName()); descr = (ClassDescriptor) iter.next(); assertEquals("wrong class name descriptor ", "org.springmodules.jcr.mapping.B", descr.getClassName()); } }