source: trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClickCondenserTest.java @ 922

Last change on this file since 922 was 922, checked in by sherbold, 12 years ago
  • renaming of packages from de.ugoe.cs.quest to de.ugoe.cs.autoquest
File size: 4.5 KB
Line 
1package de.ugoe.cs.autoquest.eventcore.gui;
2
3import static org.junit.Assert.assertEquals;
4import static org.junit.Assert.assertFalse;
5import static org.junit.Assert.assertTrue;
6
7import java.util.ArrayList;
8import java.util.List;
9
10import org.junit.Test;
11
12import de.ugoe.cs.autoquest.eventcore.Event;
13import de.ugoe.cs.autoquest.eventcore.IEventType;
14import de.ugoe.cs.autoquest.eventcore.gui.MouseButtonDown;
15import de.ugoe.cs.autoquest.eventcore.gui.MouseButtonInteraction;
16import de.ugoe.cs.autoquest.eventcore.gui.MouseButtonUp;
17import de.ugoe.cs.autoquest.eventcore.gui.MouseClick;
18import de.ugoe.cs.autoquest.eventcore.gui.MouseClickCondenser;
19import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
20import de.ugoe.cs.autoquest.test.DummyGUIElement;
21import de.ugoe.cs.autoquest.test.DummyInteraction;
22
23/**
24 * @author Patrick Harms
25 */
26public class MouseClickCondenserTest {
27
28    /** */
29    private List<Event> events = new ArrayList<Event>();
30
31    /**
32     *
33     */
34    @Test
35    public void testMouseClickInOneSequenceElement() {
36        MouseButtonInteraction.Button leftBtn = MouseButtonInteraction.Button.LEFT;
37        MouseButtonInteraction.Button middleBtn = MouseButtonInteraction.Button.MIDDLE;
38        MouseButtonInteraction.Button rightBtn = MouseButtonInteraction.Button.RIGHT;
39
40        IGUIElement element1 = new DummyGUIElement("elem1");
41        IGUIElement element2 = new DummyGUIElement("elem2");
42
43        simulateEvent(new MouseButtonDown(leftBtn), element1);
44        simulateEvent(new MouseButtonUp(leftBtn), element1);
45        simulateEvent(new MouseClick(leftBtn), element1);
46        assertCondensedMouseClicks("elem1");
47
48        simulateEvent(new DummyInteraction("bla", 1), element1);
49        simulateEvent(new DummyInteraction("bli", 1), element1);
50        simulateEvent(new MouseButtonDown(middleBtn), element1);
51        simulateEvent(new MouseButtonUp(middleBtn), element1);
52        simulateEvent(new MouseClick(middleBtn), element1);
53        simulateEvent(new DummyInteraction("blo", 1), element1);
54        simulateEvent(new DummyInteraction("blu", 1), element1);
55        assertCondensedMouseClicks("elem1", "", "", "elem1", "", "");
56
57        simulateEvent(new DummyInteraction("bla", 1), element2);
58        simulateEvent(new DummyInteraction("bli", 1), element2);
59        simulateEvent(new MouseButtonDown(rightBtn), element2);
60        simulateEvent(new MouseButtonUp(rightBtn), element2);
61        simulateEvent(new MouseClick(rightBtn), element2);
62        simulateEvent(new DummyInteraction("blo", 1), element2);
63        simulateEvent(new DummyInteraction("blu", 1), element2);
64        assertCondensedMouseClicks("elem1", "", "", "elem1", "", "", "", "", "elem2", "", "");
65
66        simulateEvent(new MouseButtonDown(leftBtn), element1);
67        simulateEvent(new MouseButtonUp(leftBtn), element1);
68        simulateEvent(new MouseClick(leftBtn), element2);
69        assertCondensedMouseClicks("elem1", "", "", "elem1", "", "", "", "", "elem2", "", "",
70                                   "", "", "elem2");
71
72        simulateEvent(new MouseButtonDown(middleBtn), element1);
73        simulateEvent(new MouseButtonUp(middleBtn), element1);
74        simulateEvent(new MouseClick(rightBtn), element1);
75        simulateEvent(new DummyInteraction("bla", 1), element2);
76        assertCondensedMouseClicks("elem1", "", "", "elem1", "", "", "", "", "elem2", "", "",
77                                   "", "", "elem2", "", "", "elem1", "");
78    }
79
80    /**
81     *
82     */
83    private void simulateEvent(IEventType eventType, IGUIElement guiElement) {
84        events.add(new Event(eventType, guiElement));
85    }
86
87    /**
88    *
89    */
90   private void assertCondensedMouseClicks(String... clickedTargets) {
91       MouseClickCondenser condenser = new MouseClickCondenser();
92       List<Event> result = condenser.condenseMouseClicks(events);
93       
94       assertEquals(clickedTargets.length, result.size());
95       
96       for (int i = 0; i < clickedTargets.length; i++) {
97           String clickedTarget = clickedTargets[i];
98           
99           if ((clickedTarget != null) && (!"".equals(clickedTarget))) {
100               assertTrue(result.get(i).getType() instanceof MouseClick);
101               assertTrue(result.get(i).getTarget() instanceof DummyGUIElement);
102               assertEquals
103                 (clickedTarget, ((DummyGUIElement) result.get(i).getTarget()).getStringIdentifier());
104           }
105           else {
106               assertFalse(result.get(i).getType() instanceof MouseClick);
107           }
108       }
109   }
110}
Note: See TracBrowser for help on using the repository browser.