Index: trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/PreferencesTableTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/PreferencesTableTest.java	(revision 10109)
+++ trunk/test/unit/org/openstreetmap/josm/gui/preferences/advanced/PreferencesTableTest.java	(revision 10109)
@@ -0,0 +1,68 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.preferences.advanced;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.data.preferences.StringSetting;
+import org.openstreetmap.josm.gui.preferences.advanced.PreferencesTable.AllSettingsTableModel;
+
+/**
+ * Unit tests of {@link PreferencesTable} class.
+ */
+public class PreferencesTableTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+
+    private static PrefEntry newPrefEntry(String value) {
+        StringSetting val = new StringSetting(value);
+        StringSetting def = new StringSetting("defaultValue");
+        return new PrefEntry("key", val, def, false);
+    }
+
+    private static PreferencesTable newTable() {
+        return new PreferencesTable(Arrays.asList(newPrefEntry("value")));
+    }
+
+    /**
+     * Unit test of {@link PreferencesTable#PreferencesTable}.
+     */
+    @Test
+    public void testPreferencesTable()  {
+        PreferencesTable t = newTable();
+        t.fireDataChanged();
+        assertTrue(t.getSelectedItems().isEmpty());
+        assertFalse(t.editPreference(null));
+        assertNull(t.addPreference(null));
+        t.resetPreferences(null);
+    }
+
+    /**
+     * Unit test of {@link PreferencesTable.AllSettingsTableModel} class.
+     */
+    @Test
+    public void testAllSettingsTableModel()  {
+        AllSettingsTableModel model = (AllSettingsTableModel) newTable().getModel();
+        assertEquals(1, model.getRowCount());
+        assertFalse(model.isCellEditable(0, 0));
+        assertTrue(model.isCellEditable(0, 1));
+        assertEquals("key", model.getValueAt(0, 0));
+        assertEquals(newPrefEntry("value"), model.getValueAt(0, 1));
+        String foobar = "foobar";
+        model.setValueAt(foobar, 0, 1);
+        assertEquals(newPrefEntry(foobar), model.getValueAt(0, 1));
+    }
+}
