Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 9848)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java	(revision 9849)
@@ -44,5 +44,5 @@
 
 public class PasteTagsConflictResolverDialog extends JDialog  implements PropertyChangeListener {
-    private static final Map<OsmPrimitiveType, String> PANE_TITLES;
+    static final Map<OsmPrimitiveType, String> PANE_TITLES;
     static {
         PANE_TITLES = new EnumMap<>(OsmPrimitiveType.class);
@@ -52,5 +52,5 @@
     }
 
-    private enum Mode {
+    enum Mode {
         RESOLVING_ONE_TAGCOLLECTION_ONLY,
         RESOLVING_TYPED_TAGCOLLECTIONS
@@ -356,10 +356,10 @@
     }
 
-    private static final class StatisticsInfo {
+    static final class StatisticsInfo {
         public int numTags;
         public final Map<OsmPrimitiveType, Integer> sourceInfo;
         public final Map<OsmPrimitiveType, Integer> targetInfo;
 
-        private StatisticsInfo() {
+        StatisticsInfo() {
             sourceInfo = new EnumMap<>(OsmPrimitiveType.class);
             targetInfo = new EnumMap<>(OsmPrimitiveType.class);
@@ -367,11 +367,7 @@
     }
 
-    private static final class StatisticsTableModel extends DefaultTableModel {
+    static final class StatisticsTableModel extends DefaultTableModel {
         private static final String[] HEADERS = new String[] {tr("Paste ..."), tr("From ..."), tr("To ...") };
-        private final transient List<StatisticsInfo> data;
-
-        private StatisticsTableModel() {
-            data = new ArrayList<>();
-        }
+        private final transient List<StatisticsInfo> data = new ArrayList<>();
 
         @Override
@@ -392,6 +388,5 @@
         @Override
         public int getRowCount() {
-            if (data == null) return 1;
-            return data.size() + 1;
+            return data == null ? 1 : data.size() + 1;
         }
 
@@ -406,5 +401,5 @@
     }
 
-    private static class StatisticsInfoRenderer extends JLabel implements TableCellRenderer {
+    static final class StatisticsInfoRenderer extends JLabel implements TableCellRenderer {
         protected void reset() {
             setIcon(null);
@@ -478,7 +473,7 @@
     }
 
-    private static final class StatisticsInfoTable extends JPanel {
-
-        private StatisticsInfoTable(StatisticsTableModel model) {
+    static final class StatisticsInfoTable extends JPanel {
+
+        StatisticsInfoTable(StatisticsTableModel model) {
             JTable infoTable = new JTable(model,
                     new TagTableColumnModelBuilder(new StatisticsInfoRenderer(), tr("Paste ..."), tr("From ..."), tr("To ...")).build());
Index: trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialogTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialogTest.java	(revision 9849)
+++ trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialogTest.java	(revision 9849)
@@ -0,0 +1,46 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.conflict.tags;
+
+import static org.junit.Assert.assertEquals;
+
+import java.beans.PropertyChangeEvent;
+
+import javax.swing.JSplitPane;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.gui.conflict.tags.CombinePrimitiveResolverDialog.AutoAdjustingSplitPane;
+
+/**
+ * Unit tests of {@link CombinePrimitiveResolverDialog} class.
+ */
+public class CombinePrimitiveResolverDialogTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void init() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Unit test of {@link CombinePrimitiveResolverDialog.AutoAdjustingSplitPane} class.
+     */
+    @Test
+    public void testAutoAdjustingSplitPane() {
+        AutoAdjustingSplitPane pane = new CombinePrimitiveResolverDialog.AutoAdjustingSplitPane(JSplitPane.VERTICAL_SPLIT);
+        assertEquals(-1, pane.getDividerLocation());
+        assertEquals(0, pane.getHeight());
+        pane.propertyChange(new PropertyChangeEvent(this, null, null, null));
+        pane.propertyChange(new PropertyChangeEvent(this, JSplitPane.DIVIDER_LOCATION_PROPERTY, null, 50));
+        assertEquals(-1, pane.getDividerLocation());
+        pane.setSize(10, 10);
+        assertEquals(10, pane.getHeight());
+        pane.propertyChange(new PropertyChangeEvent(this, JSplitPane.DIVIDER_LOCATION_PROPERTY, null, 50));
+        pane.ancestorResized(null);
+        pane.ancestorMoved(null);
+        assertEquals(50, pane.getDividerLocation());
+    }
+}
Index: trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialogTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialogTest.java	(revision 9849)
+++ trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialogTest.java	(revision 9849)
@@ -0,0 +1,61 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.conflict.tags;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import java.awt.Insets;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
+import org.openstreetmap.josm.gui.conflict.tags.PasteTagsConflictResolverDialog.StatisticsInfo;
+import org.openstreetmap.josm.gui.conflict.tags.PasteTagsConflictResolverDialog.StatisticsInfoTable;
+import org.openstreetmap.josm.gui.conflict.tags.PasteTagsConflictResolverDialog.StatisticsTableModel;
+
+/**
+ * Unit tests of {@link PasteTagsConflictResolverDialog} class.
+ */
+public class PasteTagsConflictResolverDialogTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void init() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    /**
+     * Unit test of {@link PasteTagsConflictResolverDialog#PANE_TITLES}.
+     */
+    @Test
+    public void testPaneTitles() {
+        assertNotNull(PasteTagsConflictResolverDialog.PANE_TITLES);
+        assertNotNull(PasteTagsConflictResolverDialog.PANE_TITLES.get(OsmPrimitiveType.NODE));
+        assertNotNull(PasteTagsConflictResolverDialog.PANE_TITLES.get(OsmPrimitiveType.WAY));
+        assertNotNull(PasteTagsConflictResolverDialog.PANE_TITLES.get(OsmPrimitiveType.RELATION));
+    }
+
+    /**
+     * Unit test of {@link PasteTagsConflictResolverDialog.StatisticsInfoTable} class.
+     */
+    @Test
+    public void testStatisticsInfoTable() {
+        StatisticsInfo info = new StatisticsInfo();
+        StatisticsTableModel model = new StatisticsTableModel();
+        assertFalse(model.isCellEditable(0, 0));
+        assertEquals(1, model.getRowCount());
+        model.append(info);
+        assertEquals(2, model.getRowCount());
+        assertEquals("Paste ...", model.getValueAt(0, 0));
+        assertEquals(info, model.getValueAt(1, 0));
+        assertNull(model.getValueAt(2, 0));
+        model.reset();
+        assertEquals(1, model.getRowCount());
+        assertEquals(new Insets(0, 0, 20, 0), new StatisticsInfoTable(model).getInsets());
+    }
+}
