Index: unk/test/unit/org/openstreetmap/josm/gui/mappaint/AllMappaintTests.groovy
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/AllMappaintTests.groovy	(revision 14047)
+++ 	(revision )
@@ -1,18 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.mappaint
-
-import junit.framework.TestCase
-
-import org.junit.runner.RunWith
-import org.junit.runners.Suite
-import org.openstreetmap.josm.gui.mappaint.mapcss.AllMapCSSTests
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses([
-    LabelCompositionStrategyTest.class,
-    MapCSSWithExtendedTextDirectivesTest.class,
-    AllMapCSSTests.class
-
-])
-public class AllMappaintTests extends TestCase{}
-
Index: /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/AllMappaintTests.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/AllMappaintTests.java	(revision 14048)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/AllMappaintTests.java	(revision 14048)
@@ -0,0 +1,21 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.mappaint;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.openstreetmap.josm.gui.mappaint.mapcss.AllMapCSSTests;
+
+import junit.framework.TestCase;
+
+/**
+ * All mappaint tests.
+ */
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+    LabelCompositionStrategyTest.class,
+    MapCSSWithExtendedTextDirectivesTest.class,
+    AllMapCSSTests.class
+})
+public class AllMappaintTests extends TestCase{
+
+}
Index: unk/test/unit/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategyTest.groovy
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategyTest.groovy	(revision 14047)
+++ 	(revision )
@@ -1,67 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.mappaint
-
-import org.junit.*
-import org.openstreetmap.josm.JOSMFixture
-import org.openstreetmap.josm.data.osm.Node
-import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.DeriveLabelFromNameTagsCompositionStrategy
-import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.StaticLabelCompositionStrategy
-import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.TagLookupCompositionStrategy
-
-class LabelCompositionStrategyTest {
-
-    @BeforeClass
-    public static void createJOSMFixture(){
-        JOSMFixture.createUnitTestFixture().init()
-    }
-
-    @Test
-    public void createStaticLabelCompositionStrategy() {
-        def n = new Node()
-
-        def strat = new StaticLabelCompositionStrategy(null)
-        assert strat.compose(n) == null
-
-        strat = new StaticLabelCompositionStrategy("a label")
-        assert strat.compose(n) == "a label"
-    }
-
-    @Test
-    public void createTagLookupCompositionStrategy() {
-        def n = new Node()
-        n.put("my-tag", "my-value")
-
-        def strat = new TagLookupCompositionStrategy(null)
-        assert strat.compose(n) == null
-
-        strat = new TagLookupCompositionStrategy("name")
-        assert strat.compose(n) == null
-
-        strat = new TagLookupCompositionStrategy("my-tag")
-        assert strat.compose(n) == "my-value"
-    }
-
-    @Test
-    public void createDeriveLabelFromNameTagsCompositionStrategy() {
-        def n
-        def strat
-
-        strat = new DeriveLabelFromNameTagsCompositionStrategy()
-        strat.setNameTags(null)
-        assert strat.getNameTags() == []
-
-        strat = new DeriveLabelFromNameTagsCompositionStrategy()
-        strat.setNameTags(["name", "brand"])
-        assert strat.getNameTags() == ["name", "brand"]
-
-        n = new Node()
-        n.put("brand", "my brand")
-        assert strat.compose(n) == "my brand"
-
-        n = new Node()
-        n.put("name", "my name")
-        n.put("brand", "my brand")
-        assert strat.compose(n) == "my name"
-    }
-}
-
Index: /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategyTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategyTest.java	(revision 14048)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategyTest.java	(revision 14048)
@@ -0,0 +1,87 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.mappaint;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import java.util.Arrays;
+import java.util.Collections;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy;
+import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.DeriveLabelFromNameTagsCompositionStrategy;
+import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.StaticLabelCompositionStrategy;
+import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.TagLookupCompositionStrategy;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+/**
+ * Unit tests of {@link LabelCompositionStrategy}.
+ */
+public class LabelCompositionStrategyTest {
+
+    /**
+     * Setup rule
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules();
+
+    /**
+     * Test {@link StaticLabelCompositionStrategy}.
+     */
+    @Test
+    public void testCreateStaticLabelCompositionStrategy() {
+        Node n = new Node();
+
+        LabelCompositionStrategy strat = new StaticLabelCompositionStrategy(null);
+        assertNull(strat.compose(n));
+
+        strat = new StaticLabelCompositionStrategy("a label");
+        assertEquals("a label", strat.compose(n));
+    }
+
+    /**
+     * Test {@link TagLookupCompositionStrategy}.
+     */
+    @Test
+    public void testCreateTagLookupCompositionStrategy() {
+        Node n = new Node();
+        n.put("my-tag", "my-value");
+
+        LabelCompositionStrategy strat = new TagLookupCompositionStrategy(null);
+        assertNull(strat.compose(n));
+
+        strat = new TagLookupCompositionStrategy("name");
+        assertNull(strat.compose(n));
+
+        strat = new TagLookupCompositionStrategy("my-tag");
+        assertEquals("my-value", strat.compose(n));
+    }
+
+    /**
+     * Test {@link DeriveLabelFromNameTagsCompositionStrategy}.
+     */
+    @Test
+    public void testCreateDeriveLabelFromNameTagsCompositionStrategy() {
+        DeriveLabelFromNameTagsCompositionStrategy strat = new DeriveLabelFromNameTagsCompositionStrategy();
+        strat.setNameTags(null);
+        assertEquals(Collections.emptyList(), strat.getNameTags());
+
+        strat = new DeriveLabelFromNameTagsCompositionStrategy();
+        strat.setNameTags(Arrays.asList("name", "brand"));
+        assertEquals(Arrays.asList("name", "brand"), strat.getNameTags());
+
+        Node n = new Node();
+        n.put("brand", "my brand");
+        assertEquals("my brand", strat.compose(n));
+
+        n = new Node();
+        n.put("name", "my name");
+        n.put("brand", "my brand");
+        assertEquals("my name", strat.compose(n));
+    }
+}
Index: unk/test/unit/org/openstreetmap/josm/gui/mappaint/MapCSSWithExtendedTextDirectivesTest.groovy
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/MapCSSWithExtendedTextDirectivesTest.groovy	(revision 14047)
+++ 	(revision )
@@ -1,58 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.mappaint
-import java.awt.Color
-
-import org.junit.*
-import org.openstreetmap.josm.JOSMFixture
-import org.openstreetmap.josm.data.osm.Node
-import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.TagKeyReference
-import org.openstreetmap.josm.gui.mappaint.styleelement.TextLabel
-import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.DeriveLabelFromNameTagsCompositionStrategy
-import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.TagLookupCompositionStrategy
-
-class MapCSSWithExtendedTextDirectivesTest {
-
-    @BeforeClass
-    public static void createJOSMFixture(){
-        JOSMFixture.createUnitTestFixture().init()
-    }
-
-    @Test
-    public void createAutoTextElement() {
-        MultiCascade mc = new MultiCascade()
-        Cascade c = mc.getOrCreateCascade("default")
-        c.put("text", new Keyword("auto"))
-        Node osm = new Node()
-        osm.put("ref", "A456");
-        Environment env = new Environment(osm, mc, "default", null)
-
-        TextLabel te = TextLabel.create(env, Color.WHITE, false /* no default annotate */)
-        assert te.labelCompositionStrategy != null
-        assert te.labelCompositionStrategy instanceof DeriveLabelFromNameTagsCompositionStrategy
-    }
-
-    @Test
-    public void createTextElementComposingTextFromTag() {
-        MultiCascade mc = new MultiCascade()
-        Cascade c = mc.getOrCreateCascade("default")
-        c.put("text", new TagKeyReference("my_name"))
-        Node osm = new Node()
-        osm.put("my_name", "foobar");
-        Environment env = new Environment(osm, mc, "default", null)
-
-        TextLabel te = TextLabel.create(env, Color.WHITE, false /* no default annotate */)
-        assert te.labelCompositionStrategy != null
-        assert te.labelCompositionStrategy instanceof TagLookupCompositionStrategy
-        assert te.labelCompositionStrategy.getDefaultLabelTag() == "my_name"
-    }
-
-    @Test
-    public void createNullStrategy() {
-        MultiCascade mc = new MultiCascade()
-        Node osm = new Node()
-        Environment env = new Environment(osm, mc, "default", null)
-
-        TextLabel te = TextLabel.create(env, Color.WHITE, false /* no default annotate */)
-        assert te == null
-    }
-}
Index: /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/MapCSSWithExtendedTextDirectivesTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/MapCSSWithExtendedTextDirectivesTest.java	(revision 14048)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/MapCSSWithExtendedTextDirectivesTest.java	(revision 14048)
@@ -0,0 +1,81 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.mappaint;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.awt.Color;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.TagKeyReference;
+import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.DeriveLabelFromNameTagsCompositionStrategy;
+import org.openstreetmap.josm.gui.mappaint.styleelement.LabelCompositionStrategy.TagLookupCompositionStrategy;
+import org.openstreetmap.josm.gui.mappaint.styleelement.TextLabel;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+/**
+ * Extended text directives tests.
+ */
+public class MapCSSWithExtendedTextDirectivesTest {
+
+    /**
+     * Setup rule
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules();
+
+    /**
+     * Test {@link DeriveLabelFromNameTagsCompositionStrategy}
+     */
+    @Test
+    public void testCreateAutoTextElement() {
+        MultiCascade mc = new MultiCascade();
+        Cascade c = mc.getOrCreateCascade("default");
+        c.put("text", new Keyword("auto"));
+        Node osm = new Node();
+        osm.put("ref", "A456");
+        Environment env = new Environment(osm, mc, "default", null);
+
+        TextLabel te = TextLabel.create(env, Color.WHITE, false /* no default annotate */);
+        assertNotNull(te.labelCompositionStrategy);
+        assertTrue(te.labelCompositionStrategy instanceof DeriveLabelFromNameTagsCompositionStrategy);
+    }
+
+    /**
+     * Test {@link TagLookupCompositionStrategy}.
+     */
+    @Test
+    public void testCreateTextElementComposingTextFromTag() {
+        MultiCascade mc = new MultiCascade();
+        Cascade c = mc.getOrCreateCascade("default");
+        c.put("text", new TagKeyReference("my_name"));
+        Node osm = new Node();
+        osm.put("my_name", "foobar");
+        Environment env = new Environment(osm, mc, "default", null);
+
+        TextLabel te = TextLabel.create(env, Color.WHITE, false /* no default annotate */);
+        assertNotNull(te.labelCompositionStrategy);
+        assertTrue(te.labelCompositionStrategy instanceof TagLookupCompositionStrategy);
+        assertEquals("my_name", ((TagLookupCompositionStrategy) te.labelCompositionStrategy).getDefaultLabelTag());
+    }
+
+    /**
+     * Test null strategy.
+     */
+    @Test
+    public void testCreateNullStrategy() {
+        MultiCascade mc = new MultiCascade();
+        Node osm = new Node();
+        Environment env = new Environment(osm, mc, "default", null);
+
+        TextLabel te = TextLabel.create(env, Color.WHITE, false /* no default annotate */);
+        assertNull(te);
+    }
+}
Index: unk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/AllMapCSSTests.groovy
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/AllMapCSSTests.groovy	(revision 14047)
+++ 	(revision )
@@ -1,18 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.mappaint.mapcss
-
-import junit.framework.TestCase
-
-import org.junit.runner.RunWith
-import org.junit.runners.Suite
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses([
-    KeyValueConditionTest.class,
-    ParsingLinkSelectorTest.class,
-    KeyConditionTest.class,
-    MapCSSParserTest.class,
-    ChildOrParentSelectorTest
-])
-public class AllMapCSSTests extends TestCase{}
-
Index: /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/AllMapCSSTests.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/AllMapCSSTests.java	(revision 14048)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/AllMapCSSTests.java	(revision 14048)
@@ -0,0 +1,22 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.mappaint.mapcss;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+import junit.framework.TestCase;
+
+/**
+ * All MapCSS tests.
+ */
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+    KeyValueConditionTest.class,
+    ParsingLinkSelectorTest.class,
+    KeyConditionTest.class,
+    MapCSSParserTest.class,
+    ChildOrParentSelectorTest.class
+})
+public class AllMapCSSTests extends TestCase{
+
+}
Index: /trunk/test/unit/org/openstreetmap/josm/io/OsmChangeBuilderTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/io/OsmChangeBuilderTest.java	(revision 14047)
+++ /trunk/test/unit/org/openstreetmap/josm/io/OsmChangeBuilderTest.java	(revision 14048)
@@ -105,5 +105,5 @@
                 "<osmChange version=\"0.6\" generator=\"JOSM\">%n" +
                 "<create>%n" +
-                "  <node id='-6' changeset='1' lat='0.0' lon='0.0' />%n" +
+                "  <node id='" + n.getUniqueId() + "' changeset='1' lat='0.0' lon='0.0' />%n" +
                 "</create>%n" +
                 "</osmChange>%n"), builder.getDocument());
@@ -183,5 +183,5 @@
                 "</delete>%n" +
                 "<create>%n" +
-                "  <node id='-3' changeset='1' lat='0.0' lon='0.0' />%n" +
+                "  <node id='" + n2.getUniqueId() + "' changeset='1' lat='0.0' lon='0.0' />%n" +
                 "</create>%n" +
                 "<modify>%n" +
