Index: src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(revision 14987)
+++ src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(working copy)
@@ -39,22 +39,24 @@
 public class RelationChecker extends Test {
 
     // CHECKSTYLE.OFF: SingleSpaceSeparator
-    /** Role {0} unknown in templates {1} */
+    /** Role ''{0}'' is not in templates ''{1}'' */
     public static final int ROLE_UNKNOWN     = 1701;
-    /** Empty role type found when expecting one of {0} */
+    /** Empty role found when expecting one of ''{0}'' */
     public static final int ROLE_EMPTY       = 1702;
-    /** Role member does not match expression {0} in template {1} */
-    public static final int WRONG_TYPE       = 1703;
-    /** Number of {0} roles too high ({1}) */
+    /** Role of relation member does not match template expression ''{0}'' in preset {1} */
+    public static final int WRONG_ROLE       = 1708;
+    /** Number of ''{0}'' roles too high ({1}) */
     public static final int HIGH_COUNT       = 1704;
-    /** Number of {0} roles too low ({1}) */
+    /** Number of ''{0}'' roles too low ({1}) */
     public static final int LOW_COUNT        = 1705;
-    /** Role {0} missing */
+    /** Role ''{0}'' missing */
     public static final int ROLE_MISSING     = 1706;
     /** Relation type is unknown */
     public static final int RELATION_UNKNOWN = 1707;
     /** Relation is empty */
     public static final int RELATION_EMPTY   = 1708;
+    /** Type ''{0}'' of relation member with role ''{1}'' does not match accepted types ''{2}'' in preset {3} */
+    public static final int WRONG_TYPE       = 1709;
     // CHECKSTYLE.ON: SingleSpaceSeparator
 
     /**
@@ -210,7 +212,7 @@
     private boolean checkMemberExpressionAndType(Map<Role, String> allroles, RelationMember member, Relation n) {
         String role = member.getRole();
         String name = null;
-        // Set of all accepted types in template
+        // Set of all accepted types in preset
         Collection<TaggingPresetType> types = EnumSet.noneOf(TaggingPresetType.class);
         TestError possibleMatchError = null;
         // iterate through all of the role definition within preset
@@ -243,9 +245,9 @@
                             // we still need to iterate further, as we might have
                             // different present, for which memberExpression will match
                             // but stash the error in case no better reason will be found later
-                            possibleMatchError = TestError.builder(this, Severity.WARNING, WRONG_TYPE)
+                            possibleMatchError = TestError.builder(this, Severity.WARNING, WRONG_ROLE)
                                     .message(ROLE_VERIF_PROBLEM_MSG,
-                                            marktr("Role of relation member does not match expression ''{0}'' in template {1}"),
+                                            marktr("Role of relation member does not match template expression ''{0}'' in preset {1}"),
                                             r.memberExpression, name)
                                     .primitives(member.getMember().isUsable() ? member.getMember() : n)
                                     .build();
@@ -279,7 +281,7 @@
 
                 errors.add(TestError.builder(this, Severity.WARNING, WRONG_TYPE)
                         .message(ROLE_VERIF_PROBLEM_MSG,
-                            marktr("Type ''{0}'' of relation member with role ''{1}'' does not match accepted types ''{2}'' in template {3}"),
+                            marktr("Type ''{0}'' of relation member with role ''{1}'' does not match accepted types ''{2}'' in preset {3}"),
                             member.getType(), member.getRole(), typesStr, name)
                         .primitives(member.getMember().isUsable() ? member.getMember() : n)
                         .build());
@@ -292,7 +294,7 @@
      *
      * @param n relation to validate
      * @param allroles contains presets for specified relation
-     * @param map contains statistics of occurrences of specified role types in relation
+     * @param map contains statistics of occurrences of specified role in relation
      */
     private void checkRoles(Relation n, Map<Role, String> allroles, Map<String, RoleInfo> map) {
         // go through all members of relation
@@ -332,7 +334,7 @@
                             .build());
                 } else {
                     errors.add(TestError.builder(this, Severity.WARNING, ROLE_EMPTY)
-                            .message(ROLE_VERIF_PROBLEM_MSG, marktr("Empty role type found when expecting one of ''{0}''"), templates)
+                            .message(ROLE_VERIF_PROBLEM_MSG, marktr("Empty role found when expecting one of ''{0}''"), templates)
                             .primitives(n)
                             .build());
                 }
Index: test/unit/org/openstreetmap/josm/data/validation/tests/RelationCheckerTest.java
===================================================================
--- test/unit/org/openstreetmap/josm/data/validation/tests/RelationCheckerTest.java	(revision 14987)
+++ test/unit/org/openstreetmap/josm/data/validation/tests/RelationCheckerTest.java	(working copy)
@@ -7,32 +7,29 @@
 
 import java.util.List;
 
-import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.validation.TestError;
-import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
 /**
  * Unit tests of {@link RelationChecker} class.
  */
 public class RelationCheckerTest {
-
     /**
      * Setup test.
      */
-    @Before
-    public void setUp() {
-        JOSMFixture.createUnitTestFixture().init();
-        getRelationChecker();
-    }
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules rule = new JOSMTestRules().presets();
 
     private static RelationChecker getRelationChecker() {
         RelationChecker checker = new RelationChecker();
-        TaggingPresets.readFromPreferences();
         checker.initialize();
         return checker;
     }
@@ -103,7 +100,7 @@
 
         List<TestError> errors = testRelation(r);
         assertEquals(1, errors.size());
-        assertEquals("Type 'relation' of relation member with role 'via' does not match accepted types 'node/way' in template Turn Restriction",
+        assertEquals("Type 'relation' of relation member with role 'via' does not match accepted types 'node/way' in preset Turn Restriction",
                 errors.get(0).getDescription());
     }
 
@@ -130,7 +127,7 @@
 
         List<TestError> errors = testRelation(r);
         assertEquals(1, errors.size());
-        assertTrue(errors.get(0).getDescription().startsWith("Empty role type found when expecting one of"));
+        assertTrue(errors.get(0).getDescription().startsWith("Empty role found when expecting one of"));
     }
 
     @Test
@@ -140,7 +137,7 @@
 
         List<TestError> errors = testRelation(r);
         assertEquals(1, errors.size());
-        assertEquals("Role of relation member does not match expression 'power' in template Power Route", errors.get(0).getDescription());
+        assertEquals("Role of relation member does not match template expression 'power' in preset Power Route", errors.get(0).getDescription());
     }
 
     @Test
@@ -168,7 +165,7 @@
 
         r.addMember(new RelationMember("", createPrimitive("way no-rail-way=yes")));
         assertEquals(1, testRelation(r).size());
-        assertEquals("Role of relation member does not match expression 'railway' in template Public Transport Route (Rail)",
+        assertEquals("Role of relation member does not match template expression 'railway' in preset Public Transport Route (Rail)",
                 testRelation(r).get(0).getDescription());
 
         r.removeMember(3);
@@ -175,14 +172,14 @@
         r.addMember(new RelationMember("stop", createPrimitive("way no-rail-way=yes")));
         assertEquals(1, testRelation(r).size());
         assertEquals(
-                "Type 'way' of relation member with role 'stop' does not match accepted types 'node' in template Public Transport Route (Rail)",
+                "Type 'way' of relation member with role 'stop' does not match accepted types 'node' in preset Public Transport Route (Rail)",
                 testRelation(r).get(0).getDescription());
 
         r.removeMember(3);
         r.addMember(new RelationMember("stop", createPrimitive("node public_transport=stop_position bus=yes")));
         assertEquals(1, testRelation(r).size());
-        assertEquals("Role of relation member does not match expression 'public_transport=stop_position && "+
-                "(train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes)' in template Public Transport Route (Rail)",
+        assertEquals("Role of relation member does not match template expression 'public_transport=stop_position && "+
+                "(train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes)' in preset Public Transport Route (Rail)",
                 testRelation(r).get(0).getDescription());
     }
 }
