/* * Rapid Beans Framework: RapidBeansTypeLoaderTest.java * * Copyright Martin Bluemel, 2008 * * Nov 4, 2005 */ package org.rapidbeans.core.type; import java.util.List; import junit.framework.TestCase; import org.rapidbeans.core.basic.RapidEnum; import org.rapidbeans.domain.org.Sex; /** * Unit Tests for class RapidBeansTypeLoader. * * @author Martin Bluemel */ public final class RapidBeansTypeLoaderTest extends TestCase { /** * test get the type from it's name. */ public void testGetMetainfoFromEnumTypeNameGenerated() { // every concrete enum class is loaded automatically when its metainfo // is retrieved by enum type name which is the class name TypeRapidEnum metainfSex = TypeRapidEnum.forName("org.rapidbeans.domain.org.Sex"); assertNotNull(metainfSex); // assert that the right enum elements are loaded List<RapidEnum> enumSexElements = metainfSex.getElements(); assertSame(Sex.male, enumSexElements.get(0)); assertSame(Sex.female, enumSexElements.get(1)); } // /** // * test get the type from it's name. // */ // public void testGetMetainfoFromEnumTypeNameGeneric() { // // also a generic enum class can be loaded automatically // // when its metainfo is retrieved by enum type name // // if its XML description can be found // // (RapidBeansTypeLoader and ClassLoader) // TypeRapidEnum enumtypeLang = // TypeRapidEnum.forName("org.rapidbeans.test.Lang"); // assertNotNull(enumtypeLang); // assertEquals(INT_6, enumtypeLang.getElements().length); // assertEquals("english", enumtypeLang.elementOf(0).getName()); // assertEquals("spanish", enumtypeLang.elementOf(1).getName()); // assertEquals("portugese", enumtypeLang.elementOf(2).getName()); // assertEquals("chinese", enumtypeLang.elementOf(INT_3).getName()); // assertEquals("french", enumtypeLang.elementOf(INT_4).getName()); // assertEquals("german", enumtypeLang.elementOf(INT_5).getName()); // } }