Mercurial > hg > thermostat-tools-eclipse
changeset 79:874bfd075462
Move tests to a separate bundle
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()); - } -}