package org.test4j.tools.reflector; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.test4j.fortest.reflector.TestObject; import org.test4j.junit.Test4J; import org.test4j.tools.exception.NoSuchFieldRuntimeException; @SuppressWarnings("rawtypes") public class FieldAccessorTest extends Test4J { private FieldAccessor aPrivate; @Before public void setUp() throws Exception { aPrivate = new FieldAccessor(TestObject.class, "aPrivate"); } @After public void tearDown() throws Exception { aPrivate = null; } @Test(expected = NoSuchFieldRuntimeException.class) public void testFieldAccessor1() { new FieldAccessor(Object.class, "missing"); } @Test(expected = NullPointerException.class) public void testFieldAccessor2() { new FieldAccessor("missing", null); } @Test public void testFieldAccessor3() { FieldAccessor accessor = new FieldAccessor(TestObject.class, "aSuperStaticPrivate"); accessor.setStatic(1); } /** * Test method for {@link com.j2speed.accessor.FieldAccessor#get()}. */ @Test public void testGet() { TestObject toTest = new TestObject(); int actual = ((Integer) aPrivate.get(toTest)).intValue(); want.number(actual).isEqualTo(26071973); } /** * Test method for * {@link com.j2speed.accessor.FieldAccessor#set(java.lang.Object)}. */ @Test public void testSet() { TestObject toTest = new TestObject(); int newValue = 26072007; aPrivate.set(toTest, Integer.valueOf(newValue)); int actual = ((Integer) aPrivate.get(toTest)).intValue(); want.number(actual).isEqualTo(newValue); try { aPrivate.set(toTest, null); want.fail(); } catch (Throwable e) { String info = e.getMessage(); want.string(info).contains("to set field").contains("into target").contains("error"); } } }