Index: trunk/test/unit/org/openstreetmap/josm/gui/history/CoordinateInfoViewerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/history/CoordinateInfoViewerTest.java	(revision 10107)
+++ trunk/test/unit/org/openstreetmap/josm/gui/history/CoordinateInfoViewerTest.java	(revision 10108)
@@ -4,5 +4,7 @@
 import static org.junit.Assert.assertNotNull;
 
+import org.junit.BeforeClass;
 import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
 
 /**
@@ -10,4 +12,12 @@
  */
 public class CoordinateInfoViewerTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
 
     /**
Index: trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserDialogTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserDialogTest.java	(revision 10107)
+++ trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserDialogTest.java	(revision 10108)
@@ -6,5 +6,7 @@
 import java.util.Date;
 
+import org.junit.BeforeClass;
 import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.User;
@@ -19,4 +21,12 @@
  */
 public class HistoryBrowserDialogTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
 
     /**
Index: trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserModelTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserModelTest.java	(revision 10108)
+++ trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryBrowserModelTest.java	(revision 10108)
@@ -0,0 +1,91 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.history;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
+import org.openstreetmap.josm.data.osm.User;
+import org.openstreetmap.josm.data.osm.history.History;
+import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
+import org.openstreetmap.josm.data.osm.history.HistoryNode;
+import org.openstreetmap.josm.gui.history.HistoryBrowserModel.TagTableModel;
+
+/**
+ * Unit tests of {@link HistoryBrowserModel} class.
+ */
+public class HistoryBrowserModelTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init(true);
+    }
+
+    /**
+     * Test for {@link HistoryBrowserModel#HistoryBrowserModel}.
+     */
+    @Test
+    public void testHistoryBrowserModel() {
+        HistoryBrowserModel model = new HistoryBrowserModel();
+        assertNotNull(model.getVersionTableModel());
+        assertNull(model.getHistory());
+        Node n = new Node(1, 1);
+        n.setUser(User.getAnonymous());
+        n.setChangesetId(1);
+        HistoryDataSet.getInstance().put(new HistoryNode(n));
+        History history = HistoryDataSet.getInstance().getHistory(1, OsmPrimitiveType.NODE);
+        assertNotNull(history);
+        model.setHistory(history);
+        assertEquals(history, model.getHistory());
+        model = new HistoryBrowserModel(history);
+        assertEquals(history, model.getHistory());
+    }
+
+    /**
+     * Unit test of {@link HistoryBrowserModel#getTagTableModel}.
+     */
+    @Test
+    public void testGetTagTableModel() {
+        HistoryBrowserModel model = new HistoryBrowserModel();
+        TagTableModel t1 = model.getTagTableModel(PointInTimeType.CURRENT_POINT_IN_TIME);
+        TagTableModel t2 = model.getTagTableModel(PointInTimeType.REFERENCE_POINT_IN_TIME);
+        assertNotNull(t1);
+        assertNotNull(t2);
+        assertNotEquals(t1, t2);
+    }
+
+    /**
+     * Unit test of {@link HistoryBrowserModel#getNodeListTableModel}.
+     */
+    @Test
+    public void testGetNodeListTableModel() {
+        HistoryBrowserModel model = new HistoryBrowserModel();
+        DiffTableModel t1 = model.getNodeListTableModel(PointInTimeType.CURRENT_POINT_IN_TIME);
+        DiffTableModel t2 = model.getNodeListTableModel(PointInTimeType.REFERENCE_POINT_IN_TIME);
+        assertNotNull(t1);
+        assertNotNull(t2);
+        assertNotEquals(t1, t2);
+    }
+
+    /**
+     * Unit test of {@link HistoryBrowserModel#getRelationMemberTableModel}.
+     */
+    @Test
+    public void testGetRelationMemberTableModel() {
+        HistoryBrowserModel model = new HistoryBrowserModel();
+        DiffTableModel t1 = model.getRelationMemberTableModel(PointInTimeType.CURRENT_POINT_IN_TIME);
+        DiffTableModel t2 = model.getRelationMemberTableModel(PointInTimeType.REFERENCE_POINT_IN_TIME);
+        assertNotNull(t1);
+        assertNotNull(t2);
+        assertNotEquals(t1, t2);
+    }
+}
Index: trunk/test/unit/org/openstreetmap/josm/tools/date/DateUtilsTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/date/DateUtilsTest.java	(revision 10107)
+++ trunk/test/unit/org/openstreetmap/josm/tools/date/DateUtilsTest.java	(revision 10108)
@@ -3,4 +3,6 @@
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
 
 import java.text.DateFormat;
@@ -116,3 +118,72 @@
         assertEquals("1:00:00 AM CET", DateUtils.formatTime(new Date(123), DateFormat.LONG));
     }
+
+    /**
+     * Unit test of {@link DateUtils#formatDate} method.
+     */
+    @Test
+    public void testFormatDate() {
+        assertEquals("1/1/70", DateUtils.formatDate(new Date(123), DateFormat.SHORT));
+        assertEquals("January 1, 1970", DateUtils.formatDate(new Date(123), DateFormat.LONG));
+    }
+
+    /**
+     * Unit test of {@link DateUtils#tsFromString} method.
+     */
+    @Test
+    public void testTsFromString() {
+        // UTC times
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00Z"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03 15:00:00 UTC"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00+00"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00-00"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00+00:00"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00-00:00"));
+
+        // UTC times with millis
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00.000Z"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00.000"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00.000+00:00"));
+        assertEquals(1459695600000L, DateUtils.tsFromString("2016-04-03T15:00:00.000-00:00"));
+
+        // Local time
+        assertEquals(1459688400000L, DateUtils.tsFromString("03-APR-16 15:00:00"));
+    }
+
+    /**
+     * Unit test of {@link DateUtils#getDateFormat} method.
+     */
+    @Test
+    public void testGetDateFormat() {
+        Boolean iso = DateUtils.PROP_ISO_DATES.get();
+        try {
+            DateFormat f1 = DateUtils.getDateFormat(DateFormat.SHORT);
+            assertNotNull(f1);
+            DateUtils.PROP_ISO_DATES.put(!iso);
+            DateFormat f2 = DateUtils.getDateFormat(DateFormat.SHORT);
+            assertNotNull(f1);
+            assertNotEquals(f1, f2);
+        } finally {
+            DateUtils.PROP_ISO_DATES.put(iso);
+        }
+    }
+
+    /**
+     * Unit test of {@link DateUtils#getTimeFormat} method.
+     */
+    @Test
+    public void testTimeFormat() {
+        Boolean iso = DateUtils.PROP_ISO_DATES.get();
+        try {
+            DateFormat f1 = DateUtils.getTimeFormat(DateFormat.SHORT);
+            assertNotNull(f1);
+            DateUtils.PROP_ISO_DATES.put(!iso);
+            DateFormat f2 = DateUtils.getTimeFormat(DateFormat.SHORT);
+            assertNotNull(f1);
+            assertNotEquals(f1, f2);
+        } finally {
+            DateUtils.PROP_ISO_DATES.put(iso);
+        }
+    }
 }
