getExecutionContext().setProperty(PROP_DETACH_ON_CLOSE, true);
testIndexOf(NEW_PM_START_END);
}
public void testIndexOf(StartEnd startEnd) throws Exception {
HasOneToManyList pojo = new HasOneToManyList();
BidirTop bidir1 = new BidirMiddle();
BidirTop bidir2 = new BidirBottom();
BidirTop bidir3 = new BidirTop();
UnidirTop unidir1 = newUnidir(UnidirLevel.Middle);
UnidirTop unidir2 = newUnidir(UnidirLevel.Top);
pojo.addBidirChild(bidir1);
pojo.addBidirChild(bidir2);
pojo.addBidirChild(bidir3);
pojo.addUnidirChild(unidir1);
pojo.addUnidirChild(unidir2);
startEnd.start();
pm.makePersistent(pojo);
startEnd.end();
startEnd.start();
pojo = pm.getObjectById(HasOneToManyList.class, pojo.getId());
bidir1 = pm.getObjectById(bidir1.getClass(), bidir1.getId());
bidir2 = pm.getObjectById(bidir2.getClass(), bidir2.getId());
bidir3 = pm.getObjectById(bidir3.getClass(), bidir3.getId());
unidir1 = pm.getObjectById(unidir1.getClass(), unidir1.getId());
unidir2 = pm.getObjectById(unidir2.getClass(), unidir2.getId());
assertEquals(0, pojo.getBidirChildren().indexOf(bidir1));
assertEquals(1, pojo.getBidirChildren().indexOf(bidir2));
assertEquals(0, pojo.getUnidirChildren().indexOf(unidir1));