changeset 79:874bfd075462

Move tests to a separate bundle
author Omair Majid <omajid@redhat.com>
date Fri, 17 Jan 2014 11:56:05 -0500
parents b788a26c0d4d
children 12082dcec40c
files com.redhat.thermostat.tools.eclipse.plugin.tests/META-INF/MANIFEST.MF com.redhat.thermostat.tools.eclipse.plugin.tests/build.properties com.redhat.thermostat.tools.eclipse.plugin.tests/pom.xml com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/CommandTest.java com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/EnvironmentsTest.java com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/PluginModelReaderWriterTest.java com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/PropertyChangeRecorder.java com.redhat.thermostat.tools.eclipse.plugin/META-INF/MANIFEST.MF com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/CommandTest.java com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/EnvironmentsTest.java com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/PluginModelReaderWriterTest.java com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/PropertyChangeRecorder.java pom.xml
diffstat 13 files changed, 373 insertions(+), 317 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/com.redhat.thermostat.tools.eclipse.plugin.tests/META-INF/MANIFEST.MF	Fri Jan 17 11:56:05 2014 -0500
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: com.redhat.thermostat.tools.eclipse.plugin.tests
+Bundle-SymbolicName: com.redhat.thermostat.tools.eclipse.plugin.tests;
+ singleton:=true
+Bundle-Version: 0.1.0.qualifier
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.junit;bundle-version="4.10.0",
+ org.eclipse.core.resources;bundle-version="3.8.101"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
+Import-Package: com.redhat.thermostat.tools.eclipse.plugin,
+ com.redhat.thermostat.tools.eclipse.plugin.editor,
+ com.redhat.thermostat.tools.eclipse.plugin.model,
+ com.redhat.thermostat.tools.eclipse.plugin.wizards
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/com.redhat.thermostat.tools.eclipse.plugin.tests/build.properties	Fri Jan 17 11:56:05 2014 -0500
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/com.redhat.thermostat.tools.eclipse.plugin.tests/pom.xml	Fri Jan 17 11:56:05 2014 -0500
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project
+   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+		       http://maven.apache.org/xsd/maven-4.0.0.xsd"
+   xmlns="http://maven.apache.org/POM/4.0.0"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>com.redhat.thermostat.tools.eclipse.plugin</groupId>
+    <artifactId>com.redhat.thermostat.tools.eclipse.plugin.parent</artifactId>
+    <version>0.1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>com.redhat.thermostat.tools.eclipse.plugin.tests</artifactId>
+  <packaging>eclipse-test-plugin</packaging>
+
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/CommandTest.java	Fri Jan 17 11:56:05 2014 -0500
@@ -0,0 +1,127 @@
+package com.redhat.thermostat.tools.eclipse.plugin.tests.model;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.beans.PropertyChangeListener;
+import java.util.Arrays;
+import java.util.Collections;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import com.redhat.thermostat.tools.eclipse.plugin.model.Bundle;
+import com.redhat.thermostat.tools.eclipse.plugin.model.Command;
+import com.redhat.thermostat.tools.eclipse.plugin.model.Environments;
+import com.redhat.thermostat.tools.eclipse.plugin.model.Option;
+
+public class CommandTest {
+
+    private CustomListener listener;
+    private Command command;
+
+    @Before
+    public void setUp() {
+        command = new Command();
+
+        listener = new CustomListener();
+    }
+
+    @Test
+    public void testConstruction() {
+        Command command = new Command("name", "description", "usage",
+                Collections.<String> emptyList(),
+                Collections.<Option> emptyList(),
+                new Environments(),
+                Collections.<Bundle> emptyList());
+
+        assertNotNull(command);
+
+        assertEquals("name", command.getName());
+        assertEquals("description", command.getDescription());
+        assertEquals("usage", command.getUsage());
+    }
+
+    @Test
+    public void testNameChange() {
+        command.setName("old");
+        command.addPropertyChangeListener("name", listener);
+
+        command.setName("new");
+
+        assertPropertyChanged(listener, "name", "old", "new");
+    }
+
+    @Test
+    public void testDescriptionChange() {
+        command.setDescription("old");
+        command.addPropertyChangeListener("description", listener);
+
+        command.setDescription("new");
+
+        assertPropertyChanged(listener, "description", "old", "new");
+    }
+
+    @Test
+    public void testUsageChange() {
+        command.setUsage("old");
+        command.addPropertyChangeListener("usage", listener);
+
+        command.setUsage("new");
+
+        assertPropertyChanged(listener, "usage", "old", "new");
+    }
+
+    @Test
+    public void testArgumentsChange() {
+        command.setArguments(Arrays.asList(new String[] { "old" }));
+        command.addPropertyChangeListener("arguments", listener);
+
+        command.setArguments(Arrays.asList(new String[] { "new" }));
+
+        assertPropertyChanged(listener, "arguments",
+                Arrays.asList(new String[] { "old" }), Arrays.asList(new String[] { "new" }));
+    }
+
+    private static void assertPropertyChanged(CustomListener listener,
+            String propertyName, Object oldValue, Object newValue) {
+
+        assertTrue(listener.getInvoked());
+        assertEquals(propertyName, listener.getPropertyName());
+        assertEquals(oldValue, listener.getOldValue());
+        assertEquals(newValue, listener.getNewValue());
+    }
+
+    static class CustomListener implements PropertyChangeListener {
+
+        private boolean invoked = false;
+        private String propertyName;
+        private Object oldValue;
+        private Object newValue;
+
+        public void propertyChange(java.beans.PropertyChangeEvent evt) {
+            this.invoked = true;
+            this.propertyName = evt.getPropertyName();
+            this.oldValue = evt.getOldValue();
+            this.newValue = evt.getNewValue();
+        };
+
+        public boolean getInvoked() {
+            return invoked;
+        }
+
+        public String getPropertyName() {
+            return propertyName;
+        }
+
+        public Object getOldValue() {
+            return oldValue;
+        }
+
+        public Object getNewValue() {
+            return newValue;
+        }
+
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/EnvironmentsTest.java	Fri Jan 17 11:56:05 2014 -0500
@@ -0,0 +1,54 @@
+package com.redhat.thermostat.tools.eclipse.plugin.tests.model;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static com.redhat.thermostat.tools.eclipse.plugin.tests.model.PropertyChangeRecorder.assertPropertyChanged;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import com.redhat.thermostat.tools.eclipse.plugin.model.Environments;
+
+public class EnvironmentsTest {
+
+    private Environments environments;
+    private PropertyChangeRecorder recorder;
+
+    @Before
+    public void setUp() {
+        environments = new Environments();
+        recorder = new PropertyChangeRecorder();
+        environments.addPropertyChangeListener(recorder);
+    }
+
+    @Test
+    public void testCli() {
+        assertFalse(environments.isCli());
+
+        environments.setCli(true);
+
+        assertTrue(environments.isCli());
+        assertPropertyChanged(recorder, environments, "cli", false, true);
+
+        environments.setCli(false);
+
+        assertFalse(environments.isCli());
+        assertPropertyChanged(recorder, environments, "cli", true, false);
+    }
+
+    @Test
+    public void testShell() {
+        assertFalse(environments.isShell());
+
+        environments.setShell(true);
+
+        assertTrue(environments.isShell());
+        assertPropertyChanged(recorder, environments, "shell", false, true);
+
+        environments.setShell(false);
+
+        assertFalse(environments.isShell());
+        assertPropertyChanged(recorder, environments, "shell", true, false);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/PluginModelReaderWriterTest.java	Fri Jan 17 11:56:05 2014 -0500
@@ -0,0 +1,92 @@
+package com.redhat.thermostat.tools.eclipse.plugin.tests.model;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+
+import org.junit.Test;
+
+import com.redhat.thermostat.tools.eclipse.plugin.model.Bundle;
+import com.redhat.thermostat.tools.eclipse.plugin.model.Command;
+import com.redhat.thermostat.tools.eclipse.plugin.model.Extension;
+import com.redhat.thermostat.tools.eclipse.plugin.model.Plugin;
+import com.redhat.thermostat.tools.eclipse.plugin.model.PluginModelReaderWriter;
+
+public class PluginModelReaderWriterTest {
+
+    @Test
+    public void testParsingCommand() {
+        String document = "<?xml version='1.0'?>\n"
+                + "<plugin xmlns=\"http://icedtea.classpath.org/thermostat/plugins/v1.0\"\n"
+                + "    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+                + "    xsi:schemaLocation=\"http://icedtea.classpath.org/thermostat/plugins/v1.0 thermostat-plugin.xsd\">\n"
+                + "  <commands>\n"
+                + "    <command>\n"
+                + "      <name>foo</name>\n"
+                + "      <usage>foo bar</usage>\n"
+                + "      <description>foos the bar if possible</description>\n"
+                + "      <arguments>\n"
+                + "        <argument>bar</argument>\n"
+                + "      </arguments>\n"
+                + "      <options>\n"
+                + "        <option>\n"
+                + "        </option>\n"
+                + "      </options>\n"
+                + "      <environments>\n"
+                + "        <environment>cli</environment>\n"
+                + "      </environments>\n"
+                + "      <bundles>\n"
+                + "        <bundle><symbolic-name>foo</symbolic-name><version>1</version></bundle>\n"
+                + "      </bundles>\n"
+                + "    </command>\n"
+                + "  </commands>\n"
+                + "</plugin>\n";
+
+        PluginModelReaderWriter pluginModel = new PluginModelReaderWriter(null, "<stdin>");
+        Plugin model = pluginModel.loadModel(document);
+
+        Command foo = model.getCommands().get(0);
+
+        assertNotNull(foo);
+
+        assertEquals("foo", foo.getName());
+        assertEquals("foo bar", foo.getUsage());
+        assertEquals("foos the bar if possible", foo.getDescription());
+
+        assertTrue(foo.getEnvironments().isCli());
+        assertFalse(foo.getEnvironments().isShell());
+
+        List<Bundle> bundles = foo.getBundles();
+        assertEquals(1, bundles.size());
+
+        Bundle bundle = bundles.get(0);
+        assertEquals("foo", bundle.getSymbolicName());
+        assertEquals("1", bundle.getVersion());
+    }
+
+    @Test
+    public void testBinding() {
+        String document = "<?xml version='1.0'?>\n"
+                + "<plugin xmlns=\"http://icedtea.classpath.org/thermostat/plugins/v1.0\"\n"
+                + "    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+                + "    xsi:schemaLocation=\"http://icedtea.classpath.org/thermostat/plugins/v1.0 thermostat-plugin.xsd\">\n"
+                + "  <extensions>\n"
+                + "    <extension>\n"
+                + "      <name>foo</name>\n"
+                + "      <bundles>\n"
+                + "        <bundle><symbolic-name>foo</symbolic-name><version>1</version></bundle>\n"
+                + "      </bundles>\n"
+                + "    </extension>\n"
+                + "  </extensions>\n"
+                + "</plugin>\n";
+
+        PluginModelReaderWriter model = new PluginModelReaderWriter(null, "stdin");
+        Plugin plugin = model.loadModel(document);
+
+        List<Extension> extensions = plugin.getExtensions();
+        assertEquals(1, extensions.size());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/model/PropertyChangeRecorder.java	Fri Jan 17 11:56:05 2014 -0500
@@ -0,0 +1,56 @@
+package com.redhat.thermostat.tools.eclipse.plugin.tests.model;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+public class PropertyChangeRecorder implements PropertyChangeListener {
+
+    private boolean invoked = false;
+    private Object source;
+    private String propertyName;
+    private Object oldValue;
+    private Object newValue;
+
+    public boolean getInvoked() {
+        return invoked;
+    }
+
+    public Object getSource() {
+        return source;
+    }
+
+    public String getPropertyName() {
+        return propertyName;
+    }
+
+    public Object getOldValue() {
+        return oldValue;
+    }
+
+    public Object getNewValue() {
+        return newValue;
+    }
+
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+        invoked = true;
+
+        source = evt.getSource();
+        propertyName = evt.getPropertyName();
+        oldValue = evt.getOldValue();
+        newValue = evt.getNewValue();
+    }
+
+    public static void assertPropertyChanged(PropertyChangeRecorder recorder,
+            Object source, String propertyName, Object oldValue, Object newValue) {
+
+        assertTrue(recorder.getInvoked());
+        assertEquals(source, recorder.getSource());
+        assertEquals(propertyName, recorder.getPropertyName());
+        assertEquals(oldValue, recorder.getOldValue());
+        assertEquals(newValue, recorder.getNewValue());
+    }
+}
--- a/com.redhat.thermostat.tools.eclipse.plugin/META-INF/MANIFEST.MF	Thu Jan 16 14:39:36 2014 -0500
+++ b/com.redhat.thermostat.tools.eclipse.plugin/META-INF/MANIFEST.MF	Fri Jan 17 11:56:05 2014 -0500
@@ -16,7 +16,6 @@
  org.eclipse.jdt.core;bundle-version="3.9.0",
  org.eclipse.ui.forms;bundle-version="3.6.0",
  org.eclipse.wst.sse.ui;bundle-version="1.3.200",
- org.junit;bundle-version="4.10.0",
  org.eclipse.core.databinding,
  org.eclipse.core.databinding.beans,
  org.eclipse.core.databinding.observable,
@@ -25,3 +24,7 @@
  com.ibm.icu
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
+Export-Package: com.redhat.thermostat.tools.eclipse.plugin;x-friends:="com.redhat.thermostat.tools.eclipse.plugin.tests",
+ com.redhat.thermostat.tools.eclipse.plugin.editor;x-friends:="com.redhat.thermostat.tools.eclipse.plugin.tests",
+ com.redhat.thermostat.tools.eclipse.plugin.model;x-friends:="com.redhat.thermostat.tools.eclipse.plugin.tests",
+ com.redhat.thermostat.tools.eclipse.plugin.wizards;x-friends:="com.redhat.thermostat.tools.eclipse.plugin.tests"
--- a/com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/CommandTest.java	Thu Jan 16 14:39:36 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-package com.redhat.thermostat.tools.eclipse.plugin.model;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.beans.PropertyChangeListener;
-import java.util.Arrays;
-import java.util.Collections;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class CommandTest {
-
-    private CustomListener listener;
-    private Command command;
-
-    @Before
-    public void setUp() {
-        command = new Command();
-
-        listener = new CustomListener();
-    }
-
-    @Test
-    public void testConstruction() {
-        Command command = new Command("name", "description", "usage",
-                Collections.<String> emptyList(),
-                Collections.<Option> emptyList(),
-                new Environments(),
-                Collections.<Bundle> emptyList());
-
-        assertNotNull(command);
-
-        assertEquals("name", command.getName());
-        assertEquals("description", command.getDescription());
-        assertEquals("usage", command.getUsage());
-    }
-
-    @Test
-    public void testNameChange() {
-        command.setName("old");
-        command.addPropertyChangeListener("name", listener);
-
-        command.setName("new");
-
-        assertPropertyChanged(listener, "name", "old", "new");
-    }
-
-    @Test
-    public void testDescriptionChange() {
-        command.setDescription("old");
-        command.addPropertyChangeListener("description", listener);
-
-        command.setDescription("new");
-
-        assertPropertyChanged(listener, "description", "old", "new");
-    }
-
-    @Test
-    public void testUsageChange() {
-        command.setUsage("old");
-        command.addPropertyChangeListener("usage", listener);
-
-        command.setUsage("new");
-
-        assertPropertyChanged(listener, "usage", "old", "new");
-    }
-
-    @Test
-    public void testArgumentsChange() {
-        command.setArguments(Arrays.asList(new String[] { "old" }));
-        command.addPropertyChangeListener("arguments", listener);
-
-        command.setArguments(Arrays.asList(new String[] { "new" }));
-
-        assertPropertyChanged(listener, "arguments",
-                Arrays.asList(new String[] { "old" }), Arrays.asList(new String[] { "new" }));
-    }
-
-    private static void assertPropertyChanged(CustomListener listener,
-            String propertyName, Object oldValue, Object newValue) {
-
-        assertTrue(listener.getInvoked());
-        assertEquals(propertyName, listener.getPropertyName());
-        assertEquals(oldValue, listener.getOldValue());
-        assertEquals(newValue, listener.getNewValue());
-    }
-
-    static class CustomListener implements PropertyChangeListener {
-
-        private boolean invoked = false;
-        private String propertyName;
-        private Object oldValue;
-        private Object newValue;
-
-        public void propertyChange(java.beans.PropertyChangeEvent evt) {
-            this.invoked = true;
-            this.propertyName = evt.getPropertyName();
-            this.oldValue = evt.getOldValue();
-            this.newValue = evt.getNewValue();
-        };
-
-        public boolean getInvoked() {
-            return invoked;
-        }
-
-        public String getPropertyName() {
-            return propertyName;
-        }
-
-        public Object getOldValue() {
-            return oldValue;
-        }
-
-        public Object getNewValue() {
-            return newValue;
-        }
-
-    }
-}
--- a/com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/EnvironmentsTest.java	Thu Jan 16 14:39:36 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-package com.redhat.thermostat.tools.eclipse.plugin.model;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static com.redhat.thermostat.tools.eclipse.plugin.model.PropertyChangeRecorder.assertPropertyChanged;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class EnvironmentsTest {
-
-    private Environments environments;
-    private PropertyChangeRecorder recorder;
-
-    @Before
-    public void setUp() {
-        environments = new Environments();
-        recorder = new PropertyChangeRecorder();
-        environments.addPropertyChangeListener(recorder);
-    }
-
-    @Test
-    public void testCli() {
-        assertFalse(environments.isCli());
-
-        environments.setCli(true);
-
-        assertTrue(environments.isCli());
-        assertPropertyChanged(recorder, environments, "cli", false, true);
-
-        environments.setCli(false);
-
-        assertFalse(environments.isCli());
-        assertPropertyChanged(recorder, environments, "cli", true, false);
-    }
-
-    @Test
-    public void testShell() {
-        assertFalse(environments.isShell());
-
-        environments.setShell(true);
-
-        assertTrue(environments.isShell());
-        assertPropertyChanged(recorder, environments, "shell", false, true);
-
-        environments.setShell(false);
-
-        assertFalse(environments.isShell());
-        assertPropertyChanged(recorder, environments, "shell", true, false);
-    }
-
-}
--- a/com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/PluginModelReaderWriterTest.java	Thu Jan 16 14:39:36 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-package com.redhat.thermostat.tools.eclipse.plugin.model;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.junit.Test;
-
-public class PluginModelReaderWriterTest {
-
-    @Test
-    public void testParsingCommand() {
-        String document = "<?xml version='1.0'?>\n"
-                + "<plugin>\n"
-                + "  <commands>\n"
-                + "    <command>\n"
-                + "      <name>foo</name>\n"
-                + "      <usage>foo bar</usage>\n"
-                + "      <description>foos the bar if possible</description>\n"
-                + "      <arguments>\n"
-                + "        <argument>bar</argument>\n"
-                + "      </arguments>\n"
-                + "      <options>\n"
-                + "        <option>\n"
-                + "        </option>\n"
-                + "      </options>\n"
-                + "      <environments>\n"
-                + "        <environment>cli</environment>\n"
-                + "      </environments>\n"
-                + "      <bundles>\n"
-                + "        <bundle><symbolic-name>foo</symbolic-name><version>1</version></bundle>\n"
-                + "      </bundles>\n"
-                + "    </command>\n"
-                + "  </commands>\n"
-                + "</plugin>\n";
-
-        PluginModelReaderWriter pluginModel = new PluginModelReaderWriter(null, "<stdin>");
-        Plugin model = pluginModel.loadModel(document);
-
-        pluginModel.saveModel(model, System.out);
-
-        Command foo = model.getCommands().get(0);
-
-        assertNotNull(foo);
-
-        assertEquals("foo", foo.getName());
-        assertEquals("foo bar", foo.getUsage());
-        assertEquals("foos the bar if possible", foo.getDescription());
-
-        assertTrue(foo.getEnvironments().isCli());
-        assertFalse(foo.getEnvironments().isShell());
-
-        List<Bundle> bundles = foo.getBundles();
-        assertEquals(1, bundles.size());
-
-        Bundle bundle = bundles.get(0);
-        assertEquals("foo", bundle.getSymbolicName());
-        assertEquals("1", bundle.getVersion());
-    }
-
-    @Test
-    public void testBinding() {
-        String document = "<?xml version='1.0'?>\n"
-                + "<plugin>\n"
-                + "  <extensions>\n"
-                + "    <extension>\n"
-                + "      <name>foo</name>\n"
-                + "      <bundles>\n"
-                + "        <bundle><symbolic-name>foo</symbolic-name><version>1</version></bundle>\n"
-                + "      </bundles>\n"
-                + "    </extension>\n"
-                + "  </extensions>\n"
-                + "</plugin>\n";
-
-        PluginModelReaderWriter model = new PluginModelReaderWriter(null, "stdin");
-        Plugin plugin = model.loadModel(document);
-
-        List<Extension> extensions = plugin.getExtensions();
-        assertEquals(1, extensions.size());
-
-        model.saveModel(plugin, System.out);
-    }
-}
--- a/com.redhat.thermostat.tools.eclipse.plugin/test/com/redhat/thermostat/plugin/eclipse/model/PropertyChangeRecorder.java	Thu Jan 16 14:39:36 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-package com.redhat.thermostat.tools.eclipse.plugin.model;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-public class PropertyChangeRecorder implements PropertyChangeListener {
-
-    private boolean invoked = false;
-    private Object source;
-    private String propertyName;
-    private Object oldValue;
-    private Object newValue;
-
-    public boolean getInvoked() {
-        return invoked;
-    }
-
-    public Object getSource() {
-        return source;
-    }
-
-    public String getPropertyName() {
-        return propertyName;
-    }
-
-    public Object getOldValue() {
-        return oldValue;
-    }
-
-    public Object getNewValue() {
-        return newValue;
-    }
-
-    @Override
-    public void propertyChange(PropertyChangeEvent evt) {
-        invoked = true;
-
-        source = evt.getSource();
-        propertyName = evt.getPropertyName();
-        oldValue = evt.getOldValue();
-        newValue = evt.getNewValue();
-    }
-
-    public static void assertPropertyChanged(PropertyChangeRecorder recorder,
-            Object source, String propertyName, Object oldValue, Object newValue) {
-
-        assertTrue(recorder.getInvoked());
-        assertEquals(source, recorder.getSource());
-        assertEquals(propertyName, recorder.getPropertyName());
-        assertEquals(oldValue, recorder.getOldValue());
-        assertEquals(newValue, recorder.getNewValue());
-    }
-}
--- a/pom.xml	Thu Jan 16 14:39:36 2014 -0500
+++ b/pom.xml	Fri Jan 17 11:56:05 2014 -0500
@@ -12,6 +12,7 @@
 
   <modules>
     <module>com.redhat.thermostat.tools.eclipse.plugin</module>
+    <module>com.redhat.thermostat.tools.eclipse.plugin.tests</module>
   </modules>
 
   <properties>