public void testCollectionPC() {
OpenJPAEntityManager em = emf.createEntityManager();
em.getTransaction().begin();
ManagedIface pc = em.createInstance(ManagedIface.class);
Set set = new HashSet();
set.add(new SimpleEntity("a", "3"));
set.add(new SimpleEntity("b", "4"));
set.add(new SimpleEntity("c", "5"));
pc.setSetPC(set);
em.persist(pc);
Object oid = em.getObjectId(pc);
em.getTransaction().commit();
em.close();
em = emf.createEntityManager();
pc = em.find(ManagedIface.class, oid);
set = pc.getSetPC();
assertEquals(3, set.size());
Collection seen = new ArrayList();
SimpleEntity rel;
SimpleEntity toRem = null;
for (Iterator it = set.iterator(); it.hasNext();) {
rel = (SimpleEntity) it.next();
seen.add(rel.getName());
if (rel.getValue().equals("4"))
toRem = rel;
}
assertEquals(3, seen.size());
assertTrue(seen.contains("a"));
assertTrue(seen.contains("b"));
assertTrue(seen.contains("c"));
em.getTransaction().begin();
assertNotNull(toRem);
set.remove(toRem);
set.add(new SimpleEntity("x", "14"));
set.add(new SimpleEntity("y", "15"));
em.getTransaction().commit();
em.close();
em = emf.createEntityManager();
pc = em.find(ManagedIface.class, oid);