Map props = new HashMap();
props.put("openjpa.RestoreState", "all");
OpenJPAEntityManagerFactory pmf = getEmf(props);
OpenJPAEntityManager pm = pmf.createEntityManager();
startTx(pm);
RuntimeTest1 rt1 = getObject(pm);
Date d = rt1.getDateField();
OpenJPAStateManager sm = getStateManager(rt1, pm);
FieldMetaData fmd = sm.getMetaData().getField("dateField");
assertEquals(d, sm.fetchInitialField(fmd.getIndex()));
// == should pass here since we haven't made any modifications.
assertTrue("mutable object fails == test; should not",
d == sm.fetchInitialField(fmd.getIndex()));
Date d2 = new Date();
rt1.setDateField(d2);
assertEquals(d, sm.fetchInitialField(fmd.getIndex()));
endTx(pm);
assertEquals(d2, sm.fetchInitialField(fmd.getIndex()));
assertTrue("mutable object passes == test; should not",
d2 != sm.fetchInitialField(fmd.getIndex()));