Index: trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClickCondenserTest.java
===================================================================
--- trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClickCondenserTest.java	(revision 958)
+++ trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClickCondenserTest.java	(revision 995)
@@ -146,5 +146,44 @@
         simulateEvent(new MouseClick(leftBtn, 1, 1), element1);
         assertCondensedMouseClicks("", "", "click left elem1", "", "", "click middle elem1",
-                                   "", "", "click left elem1");
+                                   "drag left elem1", "click left elem1");
+    }
+
+    /**
+     *
+     */
+    @Test
+    public void testDragAndDrop() {
+        MouseButtonInteraction.Button leftBtn = MouseButtonInteraction.Button.LEFT;
+        MouseButtonInteraction.Button middleBtn = MouseButtonInteraction.Button.MIDDLE;
+        MouseButtonInteraction.Button rightBtn = MouseButtonInteraction.Button.RIGHT;
+
+        IGUIElement element1 = new DummyGUIElement("elem1");
+
+        simulateEvent(new MouseButtonDown(leftBtn, 0, 0), element1);
+        simulateEvent(new MouseButtonUp(leftBtn, 1, 0), element1);
+        assertCondensedMouseClicks("drag left elem1");
+
+        simulateEvent(new MouseButtonDown(leftBtn, 0, 0), element1);
+        simulateEvent(new MouseButtonUp(leftBtn, 1, 1), element1);
+        assertCondensedMouseClicks("drag left elem1", "drag left elem1");
+
+        simulateEvent(new MouseButtonDown(leftBtn, 0, 0), element1);
+        simulateEvent(new MouseButtonUp(leftBtn, 0, 1), element1);
+        simulateEvent(new MouseClick(leftBtn, 0, 0), element1);
+        assertCondensedMouseClicks("drag left elem1", "drag left elem1", "drag left elem1",
+                                   "click left elem1");
+
+        simulateEvent(new MouseButtonDown(middleBtn, 1, 0), element1);
+        simulateEvent(new MouseButtonUp(middleBtn, 0, 0), element1);
+        simulateEvent(new MouseClick(middleBtn, 0, 0), element1);
+        assertCondensedMouseClicks("drag left elem1", "drag left elem1", "drag left elem1",
+                                   "click left elem1", "", "", "click middle elem1");
+
+        simulateEvent(new MouseButtonDown(rightBtn, 0, 1), element1);
+        simulateEvent(new MouseButtonUp(rightBtn, 0, 0), element1);
+        simulateEvent(new MouseClick(rightBtn, 0, 0), element1);
+        assertCondensedMouseClicks("drag left elem1", "drag left elem1", "drag left elem1",
+                                   "click left elem1", "", "", "click middle elem1",
+                                   "", "", "click right elem1");
     }
 
@@ -175,4 +214,7 @@
                     assertTrue(result.get(i).getType() instanceof MouseClick);
                 }
+                else if ("drag".equals(parts[0])) {
+                    assertTrue(result.get(i).getType() instanceof MouseDragAndDrop);
+                }
                 else {
                     fail("invalid assertion in test case");
