Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoGlyph.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoGlyph.java	(revision 31792)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoGlyph.java	(revision 31793)
@@ -11,4 +11,7 @@
 
 public class TrafficoGlyph {
+  private TrafficoGlyph() {
+    // private constructor to avoid instantiation
+  }
   private static Map<String, Character> glyphs;
 
@@ -31,8 +34,3 @@
     return glyphs.get(key);
   }
-
-  public static void main(String[] args) {
-    System.out.println(TrafficoGlyph.getGlyph("h"));
-    System.out.println(TrafficoGlyph.getGlyph("DE-arrow-up"));
-  }
 }
Index: /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoGlyphTest.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoGlyphTest.java	(revision 31793)
+++ /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoGlyphTest.java	(revision 31793)
@@ -0,0 +1,29 @@
+package org.openstreetmap.josm.plugins.mapillary.traffico;
+
+import static org.junit.Assert.assertEquals;
+
+import java.lang.reflect.Constructor;
+
+import org.junit.Test;
+
+public class TrafficoGlyphTest {
+
+  @Test
+  public void testGetGlyph() {
+    // The following line has to be updated everytime a new version of traffico is included
+    assertEquals(new Character('\uf105'), TrafficoGlyph.getGlyph("airplane"));
+    assertEquals(null, TrafficoGlyph.getGlyph("some-nonexistent-glyph"));
+    assertEquals(null, TrafficoGlyph.getGlyph(null));
+  }
+
+  /**
+   * The following test has the only purpose to provide code coverage for the private constructor.
+   */
+  @Test
+  public void testPrivateConstructor() throws Exception {
+    Constructor<?> c = TrafficoGlyph.class.getDeclaredConstructors()[0];
+    c.setAccessible(true);
+    c.newInstance();
+  }
+
+}
Index: /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoSignElementTest.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoSignElementTest.java	(revision 31793)
+++ /applications/editors/josm/plugins/mapillary/test/unit/org/openstreetmap/josm/plugins/mapillary/traffico/TrafficoSignElementTest.java	(revision 31793)
@@ -0,0 +1,26 @@
+package org.openstreetmap.josm.plugins.mapillary.traffico;
+
+import static org.junit.Assert.*;
+
+import java.awt.Color;
+
+import org.junit.Test;
+
+public class TrafficoSignElementTest {
+
+  @Test
+  public void testPersistence() {
+    TrafficoSignElement tse1 = new TrafficoSignElement('\udead', Color.BLACK);
+    TrafficoSignElement tse2 = new TrafficoSignElement('\ubeef', Color.RED);
+    assertEquals('\udead', tse1.getGlyph());
+    assertEquals('\ubeef', tse2.getGlyph());
+    assertEquals(Color.BLACK, tse1.getColor());
+    assertEquals(Color.RED, tse2.getColor());
+  }
+
+  @Test(expected=IllegalArgumentException.class)
+  public void testNullColor() {
+    new TrafficoSignElement('\ufeed', null);
+  }
+
+}
