Index: trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergerTest.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergerTest.java	(revision 2041)
+++ trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergerTest.java	(revision 2041)
@@ -0,0 +1,73 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.conflict.pair.nodes;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JFrame;
+
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.conflict.pair.nodes.NodeListMerger;
+
+public class NodeListMergerTest extends JFrame {
+
+
+    private NodeListMerger nodeListMerger;
+
+    protected void populate() {
+        Way w1 = new Way();
+        Node n1;
+        w1.addNode(n1 = new Node(1));
+        for (int i=0; i < 20; i++) {
+            n1.put("key" + i, "value" + i);
+        }
+        String note = "";
+        for (int i=0; i < 50; i++) {
+            note += " A very long text ";
+        }
+        n1.put("note", note);
+        w1.addNode(new Node(2));
+        w1.addNode(new Node(3));
+
+        Way w2 = new Way();
+        w2.addNode(new Node(4));
+        w2.addNode(new Node(5));
+        w2.addNode(new Node(6));
+
+        nodeListMerger.populate(w1, w2);
+
+    }
+
+    protected void populateLong() {
+        Way w1 = new Way();
+        for (int i = 0; i < 100; i++) {
+            w1.addNode(new Node(i));
+        }
+
+        Way w2 = new Way();
+        for (int i = 1; i < 200; i+=2) {
+            w2.addNode(new Node(i));
+        }
+        nodeListMerger.populate(w1, w2);
+
+    }
+
+    protected void build() {
+        nodeListMerger = new NodeListMerger();
+        getContentPane().setLayout(new BorderLayout());
+        getContentPane().add(nodeListMerger, BorderLayout.CENTER);
+    }
+
+    public NodeListMergerTest() {
+        build();
+        populate();
+    }
+
+    static public void main(String args[]) {
+        NodeListMergerTest test = new NodeListMergerTest();
+        test.setSize(600,600);
+        test.setVisible(true);
+    }
+
+
+}
Index: trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergerTest.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergerTest.java	(revision 2041)
+++ trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergerTest.java	(revision 2041)
@@ -0,0 +1,47 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.conflict.pair.properties;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JFrame;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.projection.Epsg4326;
+import org.openstreetmap.josm.gui.conflict.pair.properties.PropertiesMerger;
+
+public class PropertiesMergerTest extends JFrame{
+
+    private PropertiesMerger merger;
+
+    protected void build() {
+        Main.proj = new Epsg4326();
+
+        setLayout(new BorderLayout());
+        add(merger = new PropertiesMerger(), BorderLayout.CENTER);
+    }
+
+    protected void populate() {
+        Node my = new Node(1);
+        my.setCoor(new LatLon(1,1));
+        my.deleted = true;
+
+        Node their = new Node(2);
+        their.setCoor(new LatLon(10,10));
+
+        merger.getModel().populate(my, their);
+    }
+
+    public PropertiesMergerTest() {
+        build();
+        populate();
+    }
+
+    static public void main(String args[]) {
+        PropertiesMergerTest app = new PropertiesMergerTest();
+        app.setSize(600, 400);
+        app.setVisible(true);
+    }
+
+}
Index: trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberMergerTest.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberMergerTest.java	(revision 2041)
+++ trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberMergerTest.java	(revision 2041)
@@ -0,0 +1,50 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.conflict.pair.relation;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JFrame;
+
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.conflict.pair.relation.RelationMemberMerger;
+
+public class RelationMemberMergerTest extends JFrame {
+
+    private RelationMemberMerger merger;
+
+    protected void populate() {
+        Relation r1 = new Relation();
+        r1.addMember(new RelationMember("role1", new Node(1)));
+        r1.addMember(new RelationMember("role2", new Way(2)));
+        r1.addMember(new RelationMember("role3", new Relation(3)));
+
+
+        Relation r2 = new Relation();
+        r2.addMember(new RelationMember("role1", new Node(1)));
+        r2.addMember(new RelationMember("role2", new Way(2)));
+        r2.addMember(new RelationMember("role3", new Relation(3)));
+
+        merger.populate(r1, r2);
+
+    }
+
+    protected void build() {
+        merger = new RelationMemberMerger();
+        getContentPane().setLayout(new BorderLayout());
+        getContentPane().add(merger, BorderLayout.CENTER);
+    }
+
+    public RelationMemberMergerTest() {
+        build();
+        populate();
+    }
+
+    static public void main(String args[]) {
+        RelationMemberMergerTest test = new RelationMemberMergerTest();
+        test.setSize(600,600);
+        test.setVisible(true);
+    }
+}
Index: trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergerTest.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergerTest.java	(revision 2041)
+++ trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergerTest.java	(revision 2041)
@@ -0,0 +1,38 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.conflict.pair.tags;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JFrame;
+
+import org.openstreetmap.josm.gui.conflict.pair.tags.TagMergeItem;
+import org.openstreetmap.josm.gui.conflict.pair.tags.TagMerger;
+
+public class TagMergerTest extends JFrame {
+
+    private TagMerger tagMerger;
+    
+    protected void build() {
+        tagMerger = new TagMerger();
+        getContentPane().setLayout(new BorderLayout());
+        getContentPane().add(tagMerger, BorderLayout.CENTER);        
+    }
+    
+    public TagMergerTest() {
+        build();
+        tagMerger.getModel().addItem(new TagMergeItem("key", "myvalue", "theirvalue"));
+        tagMerger.getModel().addItem(new TagMergeItem("key", "myvalue", null));
+        tagMerger.getModel().addItem(new TagMergeItem("key", null, "theirvalue"));
+        tagMerger.getModel().addItem(new TagMergeItem("a very long key asdfasdf asdfasdf", "a very long value asdfasdf", "a very long value asdfasdf"));
+        for (int i=0; i< 50; i++) {
+          tagMerger.getModel().addItem(new TagMergeItem("key", "myvalue", "theirvalue"));
+        }
+    }
+    
+    public static void main(String args[]) {
+        TagMergerTest test  = new TagMergerTest();
+        test.setSize(600,600);
+        test.setVisible(true);
+    }
+    
+}
Index: trunk/test/functional/org/openstreetmap/josm/gui/conflict/tags/TagMergerTest.java
===================================================================
--- trunk/test/functional/org/openstreetmap/josm/gui/conflict/tags/TagMergerTest.java	(revision 1954)
+++ 	(revision )
@@ -1,38 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.conflict.tags;
-
-import java.awt.BorderLayout;
-
-import javax.swing.JFrame;
-
-import org.openstreetmap.josm.gui.conflict.pair.tags.TagMergeItem;
-import org.openstreetmap.josm.gui.conflict.pair.tags.TagMerger;
-
-public class TagMergerTest extends JFrame {
-
-    private TagMerger tagMerger;
-    
-    protected void build() {
-        tagMerger = new TagMerger();
-        getContentPane().setLayout(new BorderLayout());
-        getContentPane().add(tagMerger, BorderLayout.CENTER);        
-    }
-    
-    public TagMergerTest() {
-        build();
-        tagMerger.getModel().addItem(new TagMergeItem("key", "myvalue", "theirvalue"));
-        tagMerger.getModel().addItem(new TagMergeItem("key", "myvalue", null));
-        tagMerger.getModel().addItem(new TagMergeItem("key", null, "theirvalue"));
-        tagMerger.getModel().addItem(new TagMergeItem("a very long key asdfasdf asdfasdf", "a very long value asdfasdf", "a very long value asdfasdf"));
-        for (int i=0; i< 50; i++) {
-          tagMerger.getModel().addItem(new TagMergeItem("key", "myvalue", "theirvalue"));
-        }
-    }
-    
-    public static void main(String args[]) {
-        TagMergerTest test  = new TagMergerTest();
-        test.setSize(600,600);
-        test.setVisible(true);
-    }
-    
-}
