Index: trunk/quest-ui-core-test/.classpath
===================================================================
--- trunk/quest-ui-core-test/.classpath	(revision 428)
+++ trunk/quest-ui-core-test/.classpath	(revision 428)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="/EventBenchConsole"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JavaHelperLib"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/EventBenchCore"/>
+	<classpathentry kind="lib" path="/Build/lib/collections-generic-4.01.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/colt-1.2.0.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/commons-codec-1.5.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/concurrent-1.3.4.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/gui-model-core.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/j3d-core-1.3.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jdom.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-3d-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-3d-demos-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-algorithms-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-api-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-graph-impl-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-io-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-jai-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-jai-samples-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-samples-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jung-visualization-2.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/log4j-1.2.16.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/org.eclipse.core.commands_3.6.0.I20110111-0800.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/org.eclipse.equinox.common_3.6.0.v20110523.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/org.eclipse.jface_3.7.0.I20110522-1430.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/org.eclipse.osgi_3.7.0.v20110613.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/org.eclipse.swt.win32.win32.x86_3.7.0.v3735b.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/org.eclipse.ui.forms_3.5.100.v20110425.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/org.eclipse.ui.workbench_3.7.0.I20110519-0100.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/stax-api-1.0.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/vecmath-1.3.1.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/wstx-asl-3.2.6.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/jopt-simple-3.3.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry kind="src" path="/JavaHelperLibTest"/>
+	<classpathentry kind="lib" path="/JavaHelperLibTest/libs/junit-addons-1.4.jar"/>
+	<classpathentry kind="lib" path="/Build/lib/Jama-1.0.2.jar"/>
+	<classpathentry kind="src" path="/EventBenchCoreTest"/>
+	<classpathentry kind="lib" path="/Build/lib-test/cglib-nodep.jar"/>
+	<classpathentry kind="lib" path="/Build/lib-test/EqualsVerifier-1.0.2.jar"/>
+	<classpathentry kind="lib" path="/Build/lib-test/junit-addons-1.4.jar"/>
+	<classpathentry kind="lib" path="/Build/lib-test/objenesis.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
Index: trunk/quest-ui-core-test/.project
===================================================================
--- trunk/quest-ui-core-test/.project	(revision 428)
+++ trunk/quest-ui-core-test/.project	(revision 428)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>EventBenchConsoleTest</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: trunk/quest-ui-core-test/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/quest-ui-core-test/.settings/org.eclipse.jdt.core.prefs	(revision 428)
+++ trunk/quest-ui-core-test/.settings/org.eclipse.jdt.core.prefs	(revision 428)
@@ -0,0 +1,4 @@
+#Mon Jan 30 15:49:53 CET 2012
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.source=1.6
Index: trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/TestAll.java
===================================================================
--- trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/TestAll.java	(revision 428)
+++ trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/TestAll.java	(revision 428)
@@ -0,0 +1,22 @@
+package de.ugoe.cs.eventbench.jfc;
+
+import org.junit.runner.JUnitCore;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * The class <code>TestAll</code> builds a suite that can be used to run all
+ * of the tests within its package as well as within any subpackages of its
+ * package.
+ *
+ * @author Steffen Herbold
+ */
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+	de.ugoe.cs.eventbench.jfc.data.TestAll.class
+})
+public class TestAll {
+	public static void main(String[] args) {
+		JUnitCore.runClasses(new Class[] { TestAll.class });
+	}
+}
Index: trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/data/JFCEventTest.java
===================================================================
--- trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/data/JFCEventTest.java	(revision 428)
+++ trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/data/JFCEventTest.java	(revision 428)
@@ -0,0 +1,373 @@
+package de.ugoe.cs.eventbench.jfc.data;
+
+import org.junit.*;
+
+import static org.junit.Assert.*;
+
+/**
+ * The class <code>JFCEventTest</code> contains tests for the class <code>{@link JFCEvent}</code>.
+ *
+ * @author Steffen Herbold
+ * @version 1.0
+ */
+public class JFCEventTest {
+	
+	@Test
+	public void testTargetEquals_1()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_2()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['titleOther','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_3()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hashOther']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_4()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['titleOther','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_5()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hashOther'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_6()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['titleOther','class2','text2','index2','hashOther']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_7()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['titleOther','class1','text1','index1','hashOther'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_8()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['title2','classOther','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_9()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['title2','class2','textOther','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_10()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','indexOther','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_11()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','classOther','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_12()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','textOther','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_13()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title1','class1','text1','indexOther','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_14()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title'1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title'1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_15()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title]1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title]1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_16()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title[1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title[1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_17()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title].1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title].1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_18()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title.[1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		String target2 = "['title.[1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_19()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1']";
+		String target2 = "['title1','class1','text1','index1','hash1'].['title2','class2','text2','index2','hash2']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_20()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1']";
+		String target2 = "['title1','class1','text1','index1','hash1']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_21()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1']";
+		String target2 = "['titleOther','class1','text1','index1','hash1']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_22()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1']";
+		String target2 = "['title1','class1','text1','index1','hashOther']";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_23()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1']";
+		String target2 = "['titleOther','class1','text1','index1','hashOther']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_24()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = null;
+		String target2 = "['titleOther','class1','text1','index1','hash1']";
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_25()
+		throws Exception {
+		JFCEvent event = new JFCEvent("type");
+		String target1 = "['title1','class1','text1','index1','hash1']";
+		String target2 = null;
+		event.setTarget(target1);
+		boolean expected = false;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Before
+	public void setUp() {
+		JFCTargetComparator.reset();
+	}
+	
+	public static void main(String[] args) {
+		new org.junit.runner.JUnitCore().run(JFCEventTest.class);
+	}
+}
Index: trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/data/TestAll.java
===================================================================
--- trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/data/TestAll.java	(revision 428)
+++ trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/jfc/data/TestAll.java	(revision 428)
@@ -0,0 +1,23 @@
+package de.ugoe.cs.eventbench.jfc.data;
+
+import org.junit.runner.JUnitCore;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * The class <code>TestAll</code> builds a suite that can be used to run all
+ * of the tests within its package as well as within any subpackages of its
+ * package.
+ *
+ * @author Steffen Herbold
+ */
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+	JFCEventTest.class
+})
+public class TestAll {
+
+	public static void main(String[] args) {
+		JUnitCore.runClasses(new Class[] { TestAll.class });
+	}
+}
Index: trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/windows/data/WindowsEventTest.java
===================================================================
--- trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/windows/data/WindowsEventTest.java	(revision 428)
+++ trunk/quest-ui-core-test/src/de/ugoe/cs/eventbench/windows/data/WindowsEventTest.java	(revision 428)
@@ -0,0 +1,47 @@
+package de.ugoe.cs.eventbench.windows.data;
+
+import org.junit.*;
+
+import static org.junit.Assert.*;
+
+/**
+ * The class <code>WindowsEventTest</code> contains tests for the class <code>{@link WindowsEvent}</code>.
+ *
+ * @author Steffen Herbold
+ * @version 1.0
+ */
+public class WindowsEventTest {
+	
+	@Test
+	public void testTargetEquals_1() throws Exception {
+		WindowsEvent event = new WindowsEvent("type");
+		String target1 = "<window name=\"name1\" class=\"class1\" resourceId=\"id1\" isModal=\"modal1\" hwnd=\"111\"/>";
+		String target2 = "<window name=\"name1\" class=\"class1\" resourceId=\"id1\" isModal=\"modal1\" hwnd=\"111\"/>";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+	
+	@Test
+	public void testTargetEquals_2() throws Exception {
+		WindowsEvent event = new WindowsEvent("type");
+		String target1 = "<window name=\"Messplatz\" class=\"#32770\" resourceId=\"0\" isModal=\"true\" hwnd=\"1770138\"/><window name=\"Messplatz im Einstellmodus\" class=\"#32770\" resourceId=\"0\" isModal=\"true\" hwnd=\"2032262\"/><window name=\"\" class=\"#32770\" resourceId=\"0\" isModal=\"false\" hwnd=\"459658\"/><window name=\"\" class=\"SysTabControl32\" resourceId=\"12320\" isModal=\"false\" hwnd=\"983734\"/>";
+		String target2 = "<window name=\"Messplatz\" class=\"#32770\" resourceId=\"0\" isModal=\"true\" hwnd=\"1770138\"/><window name=\"Messplatz im Einstellmodus\" class=\"#32770\" resourceId=\"0\" isModal=\"true\" hwnd=\"2032262\"/><window name=\"\" class=\"#32770\" resourceId=\"0\" isModal=\"false\" hwnd=\"459658\"/><window name=\"\" class=\"SysTabControl32\" resourceId=\"12320\" isModal=\"false\" hwnd=\"983734\"/>";
+		event.setTarget(target1);
+		boolean expected = true;
+		
+		boolean result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+		
+		MFCTargetComparator.setMutable(false);
+		
+		result = event.targetEquals(target2);
+		
+		assertEquals(expected, result);
+	}
+
+}
