}
public void testSavedUnresolvedMerge() throws Exception {
ToManyList list = createForExistingArtist();
Painting p1 = context.newObject(Painting.class);
p1.setPaintingTitle("p1");
// list being tested is a separate copy from
// the relationship list that Artist has, so adding a painting
// here will not add the painting to the array being tested
((Artist) list.getRelationshipOwner()).addToPaintingArray(p1);
context.commitChanges();
// immediately tag Artist as MODIFIED, since we are messing up with relationship
// bypassing normal CayenneDataObject methods
list.getRelationshipOwner().setPersistenceState(PersistenceState.MODIFIED);
assertTrue("List must be unresolved...", list.isFault());
list.add(p1);
assertTrue("List must be unresolved when adding an object...", list.isFault());
assertTrue(addedToUnresolved(list).contains(p1));
Painting p2 = context.newObject(Painting.class);
list.add(p2);
assertTrue("List must be unresolved when adding an object...", list.isFault());
assertTrue(addedToUnresolved(list).contains(p2));
// now resolve the list and see how merge worked