Index: trunk/src/org/openstreetmap/josm/data/validation/OsmValidator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/OsmValidator.java	(revision 6690)
+++ trunk/src/org/openstreetmap/josm/data/validation/OsmValidator.java	(revision 6691)
@@ -16,4 +16,6 @@
 import java.util.HashMap;
 import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
 import java.util.TreeSet;
 
@@ -123,5 +125,5 @@
         for (Class<Test> testClass : allAvailableTests) {
             try {
-                allTestsMap.put(testClass.getSimpleName(), testClass.newInstance());
+                allTestsMap.put(testClass.getName(), testClass.newInstance());
             } catch (Exception e) {
                 Main.error(e);
@@ -215,10 +217,10 @@
     /**
      * Gets a map from simple names to all tests.
-     * @return A map of all tests, indexed by the simple name of their Java class
-     */
-    public static Map<String, Test> getAllTestsMap() {
+     * @return A map of all tests, indexed and sorted by the name of their Java class
+     */
+    public static SortedMap<String, Test> getAllTestsMap() {
         applyPrefs(allTestsMap, false);
         applyPrefs(allTestsMap, true);
-        return new HashMap<String, Test>(allTestsMap);
+        return new TreeMap<String, Test>(allTestsMap);
     }
     
@@ -234,5 +236,5 @@
             return null;
         }
-        return (T) allTestsMap.get(testClass.getSimpleName());
+        return (T) allTestsMap.get(testClass.getName());
     }
 
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 6690)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 6691)
@@ -45,5 +45,15 @@
     private Map<List<Way>, List<WaySegment>> seenWays;
 
+    /**
+     * General crossing ways test.
+     */
     public static class Ways extends CrossingWays {
+
+        /**
+         * Constructs a new crossing {@code Ways} test.
+         */
+        public Ways() {
+            super(tr("Crossing ways"));
+        }
 
         @Override
@@ -98,5 +108,15 @@
     }
 
+    /**
+     * Crossing boundaries ways test.
+     */
     public static class Boundaries extends CrossingWays {
+
+        /**
+         * Constructs a new crossing {@code Boundaries} test.
+         */
+        public Boundaries() {
+            super(tr("Crossing boundaries"));
+        }
 
         @Override
@@ -124,5 +144,15 @@
     }
 
+    /**
+     * Crossing barriers ways test.
+     */
     public static class Barrier extends CrossingWays {
+
+        /**
+         * Constructs a new crossing {@code Barrier} test.
+         */
+        public Barrier() {
+            super(tr("Crossing barriers"));
+        }
 
         @Override
@@ -142,7 +172,11 @@
     }
 
-    public CrossingWays() {
-        super(tr("Crossing ways"),
-                tr("This test checks if two roads, railways, waterways or buildings crosses in the same layer, but are not connected by a node."));
+    /**
+     * Constructs a new {@code CrossingWays} test.
+     * @param title The test title
+     * @since 6691
+     */
+    public CrossingWays(String title) {
+        super(title, tr("This test checks if two roads, railways, waterways or buildings crosses in the same layer, but are not connected by a node."));
     }
 
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(revision 6690)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(revision 6691)
@@ -23,5 +23,4 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.osm.OsmUtils;
 import org.openstreetmap.josm.data.osm.QuadBuckets;
 import org.openstreetmap.josm.data.osm.Way;
@@ -43,6 +42,16 @@
 public abstract class UnconnectedWays extends Test {
 
+    /**
+     * Unconnected highways test.
+     */
     public static class UnconnectedHighways extends UnconnectedWays {
 
+        /**
+         * Constructs a new {@code UnconnectedHighways} test.
+         */
+        public UnconnectedHighways() {
+            super(tr("Unconnected highways"));
+        }
+        
         @Override
         public boolean isPrimitiveUsable(OsmPrimitive p) {
@@ -51,6 +60,16 @@
     }
 
+    /**
+     * Unconnected railways test.
+     */
     public static class UnconnectedRailways extends UnconnectedWays {
 
+        /**
+         * Constructs a new {@code UnconnectedRailways} test.
+         */
+        public UnconnectedRailways() {
+            super(tr("Unconnected railways"));
+        }
+        
         @Override
         public boolean isPrimitiveUsable(OsmPrimitive p) {
@@ -59,6 +78,16 @@
     }
 
+    /**
+     * Unconnected waterways test.
+     */
     public static class UnconnectedWaterways extends UnconnectedWays {
 
+        /**
+         * Constructs a new {@code UnconnectedWaterways} test.
+         */
+        public UnconnectedWaterways() {
+            super(tr("Unconnected waterways"));
+        }
+        
         @Override
         public boolean isPrimitiveUsable(OsmPrimitive p) {
@@ -67,6 +96,16 @@
     }
 
+    /**
+     * Unconnected natural/landuse test.
+     */
     public static class UnconnectedNaturalOrLanduse extends UnconnectedWays {
 
+        /**
+         * Constructs a new {@code UnconnectedNaturalOrLanduse} test.
+         */
+        public UnconnectedNaturalOrLanduse() {
+            super(tr("Unconnected natural lands and landuses"));
+        }
+        
         @Override
         public boolean isPrimitiveUsable(OsmPrimitive p) {
@@ -75,6 +114,16 @@
     }
 
+    /**
+     * Unconnected power ways test.
+     */
     public static class UnconnectedPower extends UnconnectedWays {
 
+        /**
+         * Constructs a new {@code UnconnectedPower} test.
+         */
+        public UnconnectedPower() {
+            super(tr("Unconnected power ways"));
+        }
+        
         @Override
         public boolean isPrimitiveUsable(OsmPrimitive p) {
@@ -97,9 +146,10 @@
 
     /**
-     * Constructor
-     */
-    public UnconnectedWays() {
-        super(tr("Unconnected ways"),
-                tr("This test checks if a way has an endpoint very near to another way."));
+     * Constructs a new {@code UnconnectedWays} test.
+     * @param title The test title
+     * @since 6691
+     */
+    public UnconnectedWays(String title) {
+        super(title, tr("This test checks if a way has an endpoint very near to another way."));
     }
 
