public void testWritesHiddenFields() { SubClassWithHiddenFields o = new SubClassWithHiddenFields(); reflectionProvider.writeField(o, "b", new Integer(10), null); reflectionProvider.writeField(o, "b", new Integer(20), WithFields.class); assertEquals(10, o.getChildB()); assertEquals(20, o.getParentB()); }
public void testVisitsEachFieldInHeirarchy() { // setup Mock mockBlock = new Mock(ReflectionProvider.Visitor.class); // expect mockBlock .expects(once()) .method("visit") .with(eq("a"), eq(int.class), eq(WithFields.class), ANYTHING); mockBlock .expects(once()) .method("visit") .with(eq("b"), eq(int.class), eq(WithFields.class), ANYTHING); mockBlock .expects(once()) .method("visit") .with(eq("c"), eq(int.class), eq(SubClassWithFields.class), ANYTHING); // execute reflectionProvider.visitSerializableFields( new SubClassWithFields(), (ReflectionProvider.Visitor) mockBlock.proxy()); // verify mockBlock.verify(); }
protected void assertCannotCreate(Class type) { try { reflectionProvider.newInstance(type); fail("Should not have been able to newInstance " + type); } catch (ObjectAccessException goodException) { } }
public void testVisitsFieldsHiddenBySubclass() { // setup Mock mockBlock = new Mock(ReflectionProvider.Visitor.class); // expect mockBlock .expects(once()) .method("visit") .with(eq("b"), eq(int.class), eq(WithFields.class), ANYTHING) .id("first"); mockBlock .expects(once()) .method("visit") .with(eq("b"), eq(int.class), eq(SubClassWithHiddenFields.class), ANYTHING) .after("first"); mockBlock.expects(once()).method("visit").with(eq("a"), ANYTHING, ANYTHING, ANYTHING); // execute reflectionProvider.visitSerializableFields( new SubClassWithHiddenFields(), (ReflectionProvider.Visitor) mockBlock.proxy()); // verify mockBlock.verify(); }
protected void assertCanCreate(Class type) { Object result = reflectionProvider.newInstance(type); assertEquals(type, result.getClass()); }