package bluej.parser.entity;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import bluej.debugger.gentype.FieldReflective;
import bluej.debugger.gentype.GenTypeClass;
import bluej.debugger.gentype.JavaPrimitiveType;
import bluej.debugger.gentype.TestReflective;
public class EntityTests
extends junit.framework.TestCase{
public void testValueSuperclassFieldAccess()
{
TestReflective base = new TestReflective("BaseClass");
TestReflective sub = new TestReflective("SubClass", base);
TestReflective subsub = new TestReflective("SubSubClass", sub);
base.fields = new HashMap<String,FieldReflective>();
FieldReflective fref = new FieldReflective("aField", JavaPrimitiveType.getInt(), Modifier.PUBLIC, base);
base.fields.put("aField", fref);
ValueEntity vent = new ValueEntity(new GenTypeClass(subsub));
JavaEntity aFieldEnt = vent.getSubentity("aField", subsub);
assertNotNull(aFieldEnt);
aFieldEnt = aFieldEnt.resolveAsValue();
assertNotNull(aFieldEnt);
assertEquals("int", aFieldEnt.getType().toString());
}
public void testTypeSuperclassFieldAccess()
{
TestReflective base = new TestReflective("BaseClass");
TestReflective sub = new TestReflective("SubClass", base);
TestReflective subsub = new TestReflective("SubSubClass", sub);
base.fields = new HashMap<String,FieldReflective>();
FieldReflective fref = new FieldReflective("aField", JavaPrimitiveType.getInt(), Modifier.PUBLIC, base);
base.fields.put("aField", fref);
fref = new FieldReflective("sField", JavaPrimitiveType.getDouble(), Modifier.PUBLIC | Modifier.STATIC, base);
base.fields.put("sField", fref);
TypeEntity tent = new TypeEntity(new GenTypeClass(subsub));
JavaEntity aFieldEnt = tent.getSubentity("aField", subsub);
assertNull(aFieldEnt);
aFieldEnt = tent.getSubentity("sField", subsub);
assertNotNull(aFieldEnt);
aFieldEnt = aFieldEnt.resolveAsValue();
assertNotNull(aFieldEnt);
assertEquals("double", aFieldEnt.getType().toString());
}
}
top,
use,
map,
class EntityTests
. testValueSuperclassFieldAccess
. testTypeSuperclassFieldAccess
69 neLoCode
+ 0 LoComm