}
public void testChangeTracker() {
OpenJPAEntityManager pm = getPM();
startTx(pm);
RuntimeTest4 pc = new RuntimeTest4("orig");
for (int i = 0; i < 12; i++)
pc.getRuntimeTest5s().add(new RuntimeTest5("five" + i));
pm.persist(pc);
Object oid = pm.getObjectId(pc);
endTx(pm);
endEm(pm);
pm = getPM();
startTx(pm);
pc = (RuntimeTest4) pm.find(RuntimeTest4.class, oid);
assertEquals(12, pc.getRuntimeTest5s().size());
int count = 0;
for (Iterator i = pc.getRuntimeTest5s().iterator();
count < 2; count++) {
i.next();
i.remove();
}
assertEquals(10, pc.getRuntimeTest5s().size());
pm.setSavepoint("test");
count = 0;
for (Iterator i = pc.getRuntimeTest5s().iterator();
count < 2; count++) {
i.next();
i.remove();
}
assertEquals(8, pc.getRuntimeTest5s().size());
endTx(pm);
endEm(pm);
pm = getPM();
pc = (RuntimeTest4) pm.find(RuntimeTest4.class, oid);
assertEquals(8, pc.getRuntimeTest5s().size());
endEm(pm);
}