public void testPeerObjectUpdatedToOneRelationship() throws Exception {
ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
ClientMtTable1 altA = clientContext.newObject(ClientMtTable1.class);
ClientMtTable2 p = clientContext.newObject(ClientMtTable2.class);
p.setTable1(a);
p.setGlobalAttribute("PPP");
a.setGlobalAttribute1("X");
altA.setGlobalAttribute1("Y");
clientContext.commitChanges();
ObjectContext peer1 = runtime.newContext(clientContext);
ClientMtTable2 p1 = peer1.localObject(p);
ClientMtTable1 altA1 = peer1.localObject(altA);
ObjectContext peer2 = runtime.newContext(clientContext);
ClientMtTable2 p2 = peer2.localObject(p);
ClientMtTable1 altA2 = peer2.localObject(altA);
ClientMtTable1 a2 = peer2.localObject(a);
p1.setTable1(altA1);
assertSame(a2, p2.getTable1());
peer1.commitChangesToParent();
assertEquals(altA2, p2.getTable1());
assertFalse(
"Peer data context became dirty on event processing",
peer2.hasChanges());
}