Index: trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java	(revision 3025)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java	(revision 3034)
@@ -815,6 +815,6 @@
      * Their dataset includes a way with three nodes, the first one being my node.
      *
-     * => the merged way should include two nodes only. the deleted node should still be
-     * in the data set.
+     * => the merged way should include all three nodes. Deleted node should have deleted=false and
+     * special conflict with isDeleted should exist
      *
      */
@@ -848,9 +848,5 @@
         theirWay.addNode(tn2);
         theirWay.addNode(tn3);
-        User user = User.getById(1111);
-        if (user == null) {
-            User.createOsmUser(1111, "their");
-        }
-        theirWay.setUser(user);
+        theirWay.setUser(User.createOsmUser(1111, "their"));
         theirWay.setTimestamp(new Date());
         their.addPrimitive(theirWay);
@@ -860,4 +856,5 @@
 
         assertEquals(1, visitor.getConflicts().size());
+        assertTrue(visitor.getConflicts().get(0).isMyDeleted());
 
         Way myWay = (Way)my.getPrimitiveById(4, OsmPrimitiveType.WAY);
@@ -865,9 +862,7 @@
 
         Node n = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
-        assertTrue(!myWay.getNodes().contains(n));
-        assertTrue(n != null);
-
-        //a node was removed from the way,it should thus be modified
-        assertTrue(myWay.isModified());
+        assertTrue(myWay.getNodes().contains(n));
+
+        assertFalse(myWay.isModified());
     }
 
@@ -876,6 +871,6 @@
      * Their dataset includes a relation with three nodes, the first one being my node.
      *
-     * => the merged relation should include two nodes only. the deleted node should still be
-     * in the data set
+     * => the merged relation should include all three nodes. There should be conflict for deleted
+     * node with isMyDeleted set
      *
      */
@@ -884,21 +879,21 @@
 
 
-        Node n1 = new Node(new LatLon(0,0));
-        n1.setOsmId(1,1);
-        n1.setDeleted(true);
-        my.addPrimitive(n1);
-
-
-        Node n3 = new Node(new LatLon(0,0));
-        n3.setOsmId(1,1);
-        their.addPrimitive(n3);
-
-        Node n4 = new Node(new LatLon(1,1));
-        n4.setOsmId(2,1);
-        their.addPrimitive(n4);
-
-        Node n5 = new Node(new LatLon(2,2));
-        n5.setOsmId(3,1);
-        their.addPrimitive(n5);
+        Node mn1 = new Node(new LatLon(0,0));
+        mn1.setOsmId(1,1);
+        mn1.setDeleted(true);
+        my.addPrimitive(mn1);
+
+
+        Node tn1 = new Node(new LatLon(0,0));
+        tn1.setOsmId(1,1);
+        their.addPrimitive(tn1);
+
+        Node tn2 = new Node(new LatLon(1,1));
+        tn2.setOsmId(2,1);
+        their.addPrimitive(tn2);
+
+        Node tn3 = new Node(new LatLon(2,2));
+        tn3.setOsmId(3,1);
+        their.addPrimitive(tn3);
 
 
@@ -906,21 +901,23 @@
         theirRelation.setOsmId(4,1);
 
-        theirRelation.addMember(new RelationMember("", n3));
-        theirRelation.addMember(new RelationMember("", n4));
-        theirRelation.addMember(new RelationMember("", n5));
+        theirRelation.addMember(new RelationMember("", tn1));
+        theirRelation.addMember(new RelationMember("", tn2));
+        theirRelation.addMember(new RelationMember("", tn3));
         their.addPrimitive(theirRelation);
 
         DataSetMerger visitor = new DataSetMerger(my,their);
         visitor.merge();
-
-        assertEquals(0,visitor.getConflicts().size());
-
-        Relation r = (Relation)my.getPrimitiveById(4,OsmPrimitiveType.RELATION);
-        assertEquals(2, r.getMembersCount());
 
         Node n = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
         assertTrue(n != null);
 
-        assertTrue(r.isModified());
+        assertEquals(1, visitor.getConflicts().size());
+        assertTrue(visitor.getConflicts().hasConflictForMy(n));
+        assertTrue(visitor.getConflicts().get(0).isMyDeleted());
+
+        Relation r = (Relation)my.getPrimitiveById(4,OsmPrimitiveType.RELATION);
+        assertEquals(3, r.getMembersCount());
+
+        assertFalse(r.isModified());
     }
 
Index: trunk/test/unit/org/openstreetmap/josm/gui/conflict/properties/PropertiesMergeModelTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/conflict/properties/PropertiesMergeModelTest.java	(revision 3025)
+++ trunk/test/unit/org/openstreetmap/josm/gui/conflict/properties/PropertiesMergeModelTest.java	(revision 3034)
@@ -12,7 +12,9 @@
 import org.junit.Test;
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.conflict.Conflict;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.Way;
@@ -47,4 +49,8 @@
     }
 
+    private void populate(OsmPrimitive my, OsmPrimitive their) {
+        model.populate(new Conflict<OsmPrimitive>(my, their));
+    }
+
     @Test
     public void populate() {
@@ -55,5 +61,5 @@
         d1.addPrimitive(n1);
         d2.addPrimitive(n2);
-        model.populate(n1, n2);
+        populate(n1, n2);
 
         Way w1 = new Way(1);
@@ -61,5 +67,5 @@
         d1.addPrimitive(w1);
         d2.addPrimitive(w2);
-        model.populate(w2, w2);
+        populate(w2, w2);
 
         Relation r1 = new Relation(1);
@@ -67,5 +73,5 @@
         d1.addPrimitive(r1);
         d2.addPrimitive(r2);
-        model.populate(r1, r2);
+        populate(r1, r2);
     }
 
@@ -79,9 +85,9 @@
         d1.addPrimitive(n1);
         d2.addPrimitive(n2);
-        model.populate(n1, n2);
+        populate(n1, n2);
         assertFalse(model.hasCoordConflict());
 
         n1.setCoor(new LatLon(1,1));
-        model.populate(n1, n2);
+        populate(n1, n2);
         assertTrue(model.hasCoordConflict());
 
@@ -89,10 +95,10 @@
         n1.cloneFrom(new Node(1));
         n2.setCoor(new LatLon(2,2));
-        model.populate(n1, n2);
+        populate(n1, n2);
         assertTrue(model.hasCoordConflict());
 
         n1.setCoor(new LatLon(1,1));
         n2.setCoor(new LatLon(2,2));
-        model.populate(n1, n2);
+        populate(n1, n2);
         assertTrue(model.hasCoordConflict());
 
