Index: /trunk/autoquest-core-events-test/data/guimappings/guimapping-dummy.txt
===================================================================
--- /trunk/autoquest-core-events-test/data/guimappings/guimapping-dummy.txt	(revision 1005)
+++ /trunk/autoquest-core-events-test/data/guimappings/guimapping-dummy.txt	(revision 1005)
@@ -0,0 +1,2 @@
+dummy = de.ugoe.cs.autoquest.eventcore.guimodel.MockGUIElement
+
Index: /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTreeTest.java
===================================================================
--- /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTreeTest.java	(revision 1005)
+++ /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTreeTest.java	(revision 1005)
@@ -0,0 +1,91 @@
+package de.ugoe.cs.autoquest.eventcore.guimodel;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Test of {@link GUIElementTree}
+ * @author Fabian Glaser
+ *
+ */
+public class GUIElementTreeTest {
+
+	@Test
+	public void testAdd() {
+		GUIElementTree tree = new GUIElementTree();
+		IGUIElementSpec spec = new MockGUIElementSpec();
+		tree.add(10l, null, spec);
+		
+		assertEquals(1, tree.size());
+	}
+	
+	@Test
+	public void testAddWithParent(){
+		GUIElementTree tree = new GUIElementTree();
+		IGUIElementSpec parentspec = new MockGUIElementSpec();
+		IGUIElementSpec spec = new MockGUIElementSpec();
+		tree.add(10l, null, parentspec);
+		tree.add(20l, 10l, spec);
+		
+		assertEquals(2, tree.size());
+		
+		IGUIElement element = tree.find(20l);
+		assertEquals(parentspec, element.getParent().getSpecification());
+	}
+
+	@Test
+	public void testFindExisting() {
+		GUIElementTree tree = new GUIElementTree();
+		IGUIElementSpec spec = new MockGUIElementSpec();
+		tree.add(10l, 0l, spec);
+		
+		IGUIElement element = tree.find(10l);
+		assertNotNull(element);
+	}
+	
+	@Test
+	public void testFindNonExisting(){
+		GUIElementTree tree = new GUIElementTree();
+		try{
+			tree.find(10l);
+			fail("Exception was not thrown.");
+		}
+		catch(Exception e){		
+		}
+	}
+
+	@Test
+	public void testRemoveSingleElement() {
+		GUIElementTree tree = new GUIElementTree();
+		IGUIElementSpec spec = new MockGUIElementSpec(); 
+		tree.add(10l, null, spec);
+		
+		assertEquals(1, tree.size());
+		assertEquals(1, tree.remove(10l));
+	}
+	
+	@Test
+	public void testRemoveWithChildElement(){
+		GUIElementTree tree = new GUIElementTree();
+		IGUIElementSpec parentspec = new MockGUIElementSpec();
+		IGUIElementSpec spec = new MockGUIElementSpec();
+		tree.add(10l, null, parentspec);
+		tree.add(20l, 10l, spec);
+		
+		assertEquals(2, tree.remove(10l));
+		assertEquals(0, tree.size());
+	}
+	
+	@Test
+	public void testRemoveNonExisting(){
+		GUIElementTree tree = new GUIElementTree();
+		assertEquals(0, tree.remove(10l));
+	}
+
+	@Test
+	public void testGetGUIModel() {
+		GUIElementTree tree = new GUIElementTree();
+		assertNotNull(tree.getGUIModel());
+	}
+}
Index: /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/MockGUIElement.java
===================================================================
--- /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/MockGUIElement.java	(revision 1005)
+++ /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/MockGUIElement.java	(revision 1005)
@@ -0,0 +1,50 @@
+package de.ugoe.cs.autoquest.eventcore.guimodel;
+
+public class MockGUIElement implements IGUIElement {
+	MockGUIElementSpec spec;
+	IGUIElement parent;
+	
+	public MockGUIElement() {
+		// TODO Auto-generated constructor
+	}
+	
+	public MockGUIElement(MockGUIElementSpec spec, IGUIElement parent){
+		this.spec = spec;
+		this.parent = parent;
+	}
+
+	@Override
+	public String getPlatform() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public String getStringIdentifier() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public IGUIElementSpec getSpecification() {
+		return spec;
+	}
+
+	@Override
+	public IGUIElement getParent() {
+		return parent;
+	}
+
+	@Override
+	public void updateSpecification(IGUIElementSpec furtherSpec) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public void addEqualGUIElement(IGUIElement equalElement) {
+		// TODO Auto-generated method stub
+
+	}
+
+}
Index: /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/MockGUIElementSpec.java
===================================================================
--- /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/MockGUIElementSpec.java	(revision 1005)
+++ /trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/guimodel/MockGUIElementSpec.java	(revision 1005)
@@ -0,0 +1,21 @@
+package de.ugoe.cs.autoquest.eventcore.guimodel;
+
+public class MockGUIElementSpec implements IGUIElementSpec {
+
+	@Override
+	public String getType() {
+		return "dummy";
+	}
+
+	@Override
+	public String[] getTypeHierarchy() {
+		return new String[]{getType()};
+	}
+
+	@Override
+	public boolean getSimilarity(IGUIElementSpec other) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+}
Index: /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTree.java
===================================================================
--- /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTree.java	(revision 1004)
+++ /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTree.java	(revision 1005)
@@ -220,8 +220,9 @@
      */
     public int remove(long id) {
+        int removedCounter = 0;
         IGUIElementSpec node = guiElementSpecs.remove(id);
-        int removedCounter = 1;
 
         if (node != null) {
+        	removedCounter++;
             List<Long> nodesToBeRemoved = childRelations.remove(id);
 
