source: trunk/quest-core-tasktrees-test/src/test/java/de/ugoe/cs/quest/tasktrees/manager/TaskTreeManagerTest.java @ 557

Last change on this file since 557 was 557, checked in by pharms, 12 years ago
  • adapted task tree creation stuff to more general event handling
  • Property svn:executable set to *
File size: 16.6 KB
Line 
1// Module    : $RCSfile: TaskTreeManagerTest.java,v $
2// Version   : $Revision: 0.0 $  $Author: Patrick $  $Date: 08.11.2011 21:32:36 $
3// Project   : TaskTreePerformanceTest
4// Creation  : 2011 by Patrick
5// Copyright : Patrick Harms, 2011
6
7package de.ugoe.cs.quest.tasktrees.manager;
8
9import java.util.logging.Logger;
10
11import org.junit.After;
12import org.junit.Before;
13import org.junit.Test;
14
15import de.ugoe.cs.quest.eventcore.Event;
16import de.ugoe.cs.quest.eventcore.IEventTarget;
17import de.ugoe.cs.quest.eventcore.IEventType;
18import de.ugoe.cs.quest.tasktrees.testutils.DummyGUIElement;
19import de.ugoe.cs.quest.tasktrees.testutils.DummyInteraction;
20import de.ugoe.cs.quest.tasktrees.testutils.SimpleLogFormatter;
21import de.ugoe.cs.quest.tasktrees.testutils.TaskTreeChecker;
22
23/**
24 * TODO comment
25 *
26 * @version $Revision: $ $Date: $
27 * @author 2011, last modified by $Author: $
28 */
29public class TaskTreeManagerTest {
30   
31    /** */
32    TaskTreeManager manager;
33
34    /**
35     *
36     */
37    @Before
38    public void setUp() {
39        Logger.getLogger("").getHandlers()[0].setFormatter(new SimpleLogFormatter());
40
41        manager = new TaskTreeManager();
42    }
43
44    /**
45     *
46     */
47    @After
48    public void tearDown() {
49        manager = null;
50        ComponentManager.clearInstance();
51    }
52
53    /**
54     *
55     */
56    @Test
57    public void testOneEventOnOneElement() {
58        simulateEvent(new DummyInteraction("bla", 1), new DummyGUIElement("elem1"));
59        new TaskTreeChecker().assertTaskTree
60            ("Sequence sequence {" +
61             "  Event bla {}" +
62             "}", manager.getTaskTree());
63    }
64
65    /**
66     *
67     */
68    @Test
69    public void testManyEventsOnOneElement() {
70        IEventTarget eventTarget = new DummyGUIElement("elem1");
71        simulateEvent(new DummyInteraction("bla", 1), eventTarget);
72        simulateEvent(new DummyInteraction("bli", 1), eventTarget);
73        simulateEvent(new DummyInteraction("blo", 1), eventTarget);
74        simulateEvent(new DummyInteraction("blu", 1), eventTarget);
75        simulateEvent(new DummyInteraction("bla", 1), eventTarget);
76
77        new TaskTreeChecker().assertTaskTree
78            ("Sequence sequence {" +
79             "  Event bla {}" +
80             "  Event bli {}" +
81             "  Event blo {}" +
82             "  Event blu {}" +
83             "  Event bla {}" +
84             "}", manager.getTaskTree());
85    }
86
87    /**
88     *
89     */
90    @Test
91    public void testOneEventOnManyElements() {
92        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
93        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
94        IEventTarget eventTarget3 = new DummyGUIElement("elem3");
95        IEventTarget eventTarget4 = new DummyGUIElement("elem4");
96        IEventTarget eventTarget5 = new DummyGUIElement("elem5");
97        IEventTarget eventTarget6 = new DummyGUIElement("elem6");
98        simulateEvent(new DummyInteraction("bla", 1), eventTarget1);
99        simulateEvent(new DummyInteraction("bli", 1), eventTarget2);
100        simulateEvent(new DummyInteraction("bla", 1), eventTarget3);
101        simulateEvent(new DummyInteraction("bli", 1), eventTarget4);
102        simulateEvent(new DummyInteraction("blo", 1), eventTarget5);
103        simulateEvent(new DummyInteraction("bla", 1), eventTarget6);
104
105        new TaskTreeChecker().assertTaskTree
106            ("Sequence sequence0 {" +
107             "  Sequence sequence1 {" +
108             "    Event bla {}" +
109             "  }" +
110             "  Sequence sequence2 {" +
111             "    Event bli {}" +
112             "  }" +
113             "  Sequence sequence3 {" +
114             "    Event bla {}" +
115             "  }" +
116             "  Sequence sequence4 {" +
117             "    Event bli {}" +
118             "  }" +
119             "  Sequence sequence5 {" +
120             "    Event blo {}" +
121             "  }" +
122             "  Sequence sequence6 {" +
123             "    Event bla {}" +
124             "  }" +
125             "}", manager.getTaskTree());
126    }
127
128    /**
129     *
130     */
131    @Test
132    public void testManyEventsOnManyElements() {
133        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
134        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
135        IEventTarget eventTarget3 = new DummyGUIElement("elem3");
136        IEventTarget eventTarget4 = new DummyGUIElement("elem4");
137        IEventTarget eventTarget5 = new DummyGUIElement("elem5");
138        IEventTarget eventTarget6 = new DummyGUIElement("elem6");
139        simulateEvent(new DummyInteraction("bla", 1), eventTarget1);
140        simulateEvent(new DummyInteraction("bli", 1), eventTarget1);
141        simulateEvent(new DummyInteraction("bla", 1), eventTarget1);
142        simulateEvent(new DummyInteraction("bli", 1), eventTarget2);
143        simulateEvent(new DummyInteraction("blo", 1), eventTarget2);
144        simulateEvent(new DummyInteraction("bla", 1), eventTarget3);
145        simulateEvent(new DummyInteraction("bli", 1), eventTarget4);
146        simulateEvent(new DummyInteraction("bla", 1), eventTarget4);
147        simulateEvent(new DummyInteraction("bli", 1), eventTarget4);
148        simulateEvent(new DummyInteraction("blo", 1), eventTarget4);
149        simulateEvent(new DummyInteraction("bla", 1), eventTarget5);
150        simulateEvent(new DummyInteraction("bli", 1), eventTarget6);
151        simulateEvent(new DummyInteraction("bla", 1), eventTarget6);
152        simulateEvent(new DummyInteraction("bli", 1), eventTarget6);
153        simulateEvent(new DummyInteraction("blo", 1), eventTarget6);
154
155        new TaskTreeChecker().assertTaskTree
156            ("Sequence sequence0 {" +
157             "  Sequence sequence1 {" +
158             "    Event bla {}" +
159             "    Event bli {}" +
160             "    Event bla {}" +
161             "  }" +
162             "  Sequence sequence2 {" +
163             "    Event bli {}" +
164             "    Event blo {}" +
165             "  }" +
166             "  Sequence sequence3 {" +
167             "    Event bla {}" +
168             "  }" +
169             "  Sequence sequence4 {" +
170             "    Event bli {}" +
171             "    Event bla {}" +
172             "    Event bli {}" +
173             "    Event blo {}" +
174             "  }" +
175             "  Sequence sequence5 {" +
176             "    Event bla {}" +
177             "  }" +
178             "  Sequence sequence6 {" +
179             "    Event bli {}" +
180             "    Event bla {}" +
181             "    Event bli {}" +
182             "    Event blo {}" +
183             "  }" +
184             "}", manager.getTaskTree());
185    }
186
187    /**
188     *
189     */
190    @Test
191    public void testEventIterationDetection() throws Exception {
192        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
193        IEventType event1 = new DummyInteraction("bla", 1);
194        simulateEvent(event1, eventTarget1);
195        new TaskTreeChecker().assertTaskTree
196            ("Sequence sequence1 {" +
197             "  Event bla {}" +
198             "}", manager.getTaskTree());
199
200        simulateEvent(event1, eventTarget1);
201        new TaskTreeChecker().assertTaskTree
202            ("Sequence sequence1 {" +
203             "  Iteration iteration1 {" +
204             "    Event bla {}" +
205             "  }" +
206             "}", manager.getTaskTree());
207
208        simulateEvent(event1, eventTarget1);
209        new TaskTreeChecker().assertTaskTree
210            ("Sequence sequence1 {" +
211             "  Iteration iteration1 {" +
212             "    Event bla {}" +
213             "  }" +
214             "}", manager.getTaskTree());
215
216        for (int i = 0; i < 10; i++) {
217            simulateEvent(event1, eventTarget1);
218        }
219
220        new TaskTreeChecker().assertTaskTree
221            ("Sequence sequence1 {" +
222             "  Iteration iteration1 {" +
223             "    Event bla {}" +
224             "  }" +
225             "}", manager.getTaskTree());
226
227        // now test with preceding and trailing other interactions
228        IEventType event2 = new DummyInteraction("bli", 1);
229        IEventType event3 = new DummyInteraction("blup", 1);
230
231        simulateEvent(event2, eventTarget1);
232        simulateEvent(event3, eventTarget1);
233        for (int i = 0; i < 10; i++) {
234            simulateEvent(event1, eventTarget1);
235        }
236        simulateEvent(event3, eventTarget1);
237        simulateEvent(event2, eventTarget1);
238
239        new TaskTreeChecker().assertTaskTree
240            ("Sequence sequence1 {" +
241             "  Iteration iteration1 {" +
242             "    Event bla {}" +
243             "  }" +
244             "  Event bli {}" +
245             "  Event blup {}" +
246             "  Iteration iteration2 {" +
247             "    Event bla {}" +
248             "  }" +
249             "  Event blup {}" +
250             "  Event bli {}" +
251             "}", manager.getTaskTree());
252
253        // now test with iterations of iterations
254
255        for (int i = 0; i < 10; i++) {
256            for (int j = 0; j < 5; j++) {
257                simulateEvent(event1, eventTarget1);
258            }
259            for (int j = 0; j < 5; j++) {
260                simulateEvent(event2, eventTarget1);
261            }
262            for (int j = 0; j < 5; j++) {
263                simulateEvent(event3, eventTarget1);
264            }
265        }
266
267        new TaskTreeChecker().assertTaskTree
268            ("Sequence sequence0 {" +
269             "  Iteration iteration0 {" +
270             "    Event bla {}" +
271             "  }" +
272             "  Event bli {}" +
273             "  Event blup {}" +
274             "  Iteration iteration1 {" +
275             "    Event bla {}" +
276             "  }" +
277             "  Event blup {}" +
278             "  Event bli {}" +
279             "  Iteration iteration2 {" +
280             "    Sequence sequence1 {" +
281             "      Iteration iteration3 {" +
282             "        Event bla {}" +
283             "      }" +
284             "      Iteration iteration4 {" +
285             "        Event bli {}" +
286             "      }" +
287             "      Iteration iteration5 {" +
288             "        Event blup {}" +
289             "      }" +
290             "    }" +
291             "  }" +
292             "}", manager.getTaskTree());
293
294    }
295
296    /**
297     *
298     */
299    @Test
300    public void testSequenceIterationDetection() throws Exception {
301        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
302        IEventType event1 = new DummyInteraction("bla", 1);
303        IEventType event2 = new DummyInteraction("bli", 1);
304        IEventType event3 = new DummyInteraction("blup", 1);
305        simulateEvent(event1, eventTarget1);
306        simulateEvent(event2, eventTarget1);
307        simulateEvent(event3, eventTarget1);
308        new TaskTreeChecker().assertTaskTree
309            ("Sequence sequence1 {" +
310             "  Event bla {}" +
311             "  Event bli {}" +
312             "  Event blup {}" +
313             "}", manager.getTaskTree());
314
315        simulateEvent(event1, eventTarget1);
316        simulateEvent(event2, eventTarget1);
317        simulateEvent(event3, eventTarget1);
318        new TaskTreeChecker().assertTaskTree
319            ("Sequence sequence1 {" +
320             "  Iteration iteration1 {" +
321             "    Sequence sequence2 {" +
322             "      Event bla {}" +
323             "      Event bli {}" +
324             "      Event blup {}" +
325             "    }" +
326             "  }" +
327             "}", manager.getTaskTree());
328
329        simulateEvent(event1, eventTarget1);
330        simulateEvent(event2, eventTarget1);
331        simulateEvent(event3, eventTarget1);
332        new TaskTreeChecker().assertTaskTree
333            ("Sequence sequence1 {" +
334             "  Iteration iteration1 {" +
335             "    Sequence sequence2 {" +
336             "      Event bla {}" +
337             "      Event bli {}" +
338             "      Event blup {}" +
339             "    }" +
340             "  }" +
341             "}", manager.getTaskTree());
342
343        for (int i = 0; i < 10; i++) {
344            simulateEvent(event1, eventTarget1);
345            simulateEvent(event2, eventTarget1);
346            simulateEvent(event3, eventTarget1);
347        }
348
349        new TaskTreeChecker().assertTaskTree
350            ("Sequence sequence1 {" +
351             "  Iteration iteration1 {" +
352             "    Sequence sequence2 {" +
353             "      Event bla {}" +
354             "      Event bli {}" +
355             "      Event blup {}" +
356             "    }" +
357             "  }" +
358             "}", manager.getTaskTree());
359
360        // now test with preceding and trailing other interactions
361        IEventType event4 = new DummyInteraction("ble", 1);
362        IEventType event5 = new DummyInteraction("blo", 1);
363        IEventType event6 = new DummyInteraction("blu", 1);
364        simulateEvent(event4, eventTarget1);
365        simulateEvent(event5, eventTarget1);
366        simulateEvent(event6, eventTarget1);
367        for (int i = 0; i < 10; i++) {
368            simulateEvent(event1, eventTarget1);
369            simulateEvent(event2, eventTarget1);
370            simulateEvent(event3, eventTarget1);
371        }
372        simulateEvent(event6, eventTarget1);
373        simulateEvent(event5, eventTarget1);
374        simulateEvent(event4, eventTarget1);
375
376        new TaskTreeChecker().assertTaskTree
377            ("Sequence sequence1 {" +
378             "  Iteration iteration1 {" +
379             "    Sequence sequence2 {" +
380             "      Event bla {}" +
381             "      Event bli {}" +
382             "      Event blup {}" +
383             "    }" +
384             "  }" +
385             "  Event ble {}" +
386             "  Event blo {}" +
387             "  Event blu {}" +
388             "  Iteration iteration2 {" +
389             "    Sequence sequence3 {" +
390             "      Event bla {}" +
391             "      Event bli {}" +
392             "      Event blup {}" +
393             "    }" +
394             "  }" +
395             "  Event blu {}" +
396             "  Event blo {}" +
397             "  Event ble {}" +
398             "}", manager.getTaskTree());
399
400        // now test with iterations of iterations
401        for (int i = 0; i < 10; i++) {
402            for (int j = 0; j < 5; j++) {
403                simulateEvent(event1, eventTarget1);
404                simulateEvent(event2, eventTarget1);
405                simulateEvent(event3, eventTarget1);
406            }
407            for (int j = 0; j < 5; j++) {
408                simulateEvent(event2, eventTarget1);
409                simulateEvent(event1, eventTarget1);
410                simulateEvent(event3, eventTarget1);
411            }
412            for (int j = 0; j < 5; j++) {
413                simulateEvent(event1, eventTarget1);
414                simulateEvent(event2, eventTarget1);
415                simulateEvent(event3, eventTarget1);
416            }
417        }
418
419        new TaskTreeChecker().assertTaskTree
420            ("Sequence sequence1 {" +
421             "  Iteration iteration1 {" +
422             "    Sequence sequence2 {" +
423             "      Event bla {}" +
424             "      Event bli {}" +
425             "      Event blup {}" +
426             "    }" +
427             "  }" +
428             "  Event ble {}" +
429             "  Event blo {}" +
430             "  Event blu {}" +
431             "  Iteration iteration2 {" +
432             "    Sequence sequence3 {" +
433             "      Event bla {}" +
434             "      Event bli {}" +
435             "      Event blup {}" +
436             "    }" +
437             "  }" +
438             "  Event blu {}" +
439             "  Event blo {}" +
440             "  Event ble {}" +
441             "  Iteration iteration3 {" +
442             "    Sequence sequence4 {" +
443             "      Iteration iteration4 {" +
444             "        Sequence sequence4 {" +
445             "          Event bla {}" +
446             "          Event bli {}" +
447             "          Event blup {}" +
448             "        }" +
449             "      }" +
450             "      Iteration iteration5 {" +
451             "        Sequence sequence5 {" +
452             "          Event bli {}" +
453             "          Event bla {}" +
454             "          Event blup {}" +
455             "        }" +
456             "      }" +
457             "      Iteration iteration6 {" +
458             "        Sequence sequence6 {" +
459             "          Event bla {}" +
460             "          Event bli {}" +
461             "          Event blup {}" +
462             "        }" +
463             "      }" +
464             "    }" +
465             "  }" +
466             "}", manager.getTaskTree());
467    }
468
469    /**
470     *
471     */
472    private void simulateEvent(IEventType eventType, IEventTarget eventTarget) {
473        manager.handleNewEvent(new Event(eventType, eventTarget));
474    }
475
476}
Note: See TracBrowser for help on using the repository browser.