package org.oddjob.arooa.types;
import junit.framework.TestCase;
import org.oddjob.Oddjob;
import org.oddjob.OddjobLookup;
import org.oddjob.arooa.ArooaValue;
import org.oddjob.arooa.convert.ArooaConversionException;
import org.oddjob.arooa.reflect.ArooaPropertyException;
import org.oddjob.arooa.types.ValueType;
import org.oddjob.arooa.xml.XMLConfiguration;
import org.oddjob.state.ParentState;
public class IdentifiableValueTypeExampleTest extends TestCase {
public void testExample() throws ArooaPropertyException, ArooaConversionException {
Oddjob oddjob = new Oddjob();
oddjob.setConfiguration(new XMLConfiguration(
"org/oddjob/arooa/types/IdentifiableValueTypeExample.xml",
getClass().getClassLoader()));
oddjob.run();
assertEquals(ParentState.COMPLETE, oddjob.lastStateEvent().getState());
OddjobLookup lookup = new OddjobLookup(oddjob);
ArooaValue result = lookup.lookup("our-value", ArooaValue.class);
assertEquals(ValueType.class, result.getClass());
assertEquals("Apples", lookup.lookup("our-value", String.class));
oddjob.destroy();
}
}