source: trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/GUIEventTaskComparisonRuleTest.java @ 1146

Last change on this file since 1146 was 1146, checked in by pharms, 11 years ago
  • complete refactoring of task tree model with a separation of task models and task instances
  • appropriate adaptation of task tree generation process
  • appropriate adaptation of commands and task tree visualization
File size: 51.6 KB
Line 
1//   Copyright 2012 Georg-August-Universität Göttingen, Germany
2//
3//   Licensed under the Apache License, Version 2.0 (the "License");
4//   you may not use this file except in compliance with the License.
5//   You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9//   Unless required by applicable law or agreed to in writing, software
10//   distributed under the License is distributed on an "AS IS" BASIS,
11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//   See the License for the specific language governing permissions and
13//   limitations under the License.
14
15package de.ugoe.cs.autoquest.tasktrees.taskequality;
16
17import static org.junit.Assert.*;
18
19import java.util.ArrayList;
20import java.util.List;
21
22import org.junit.Test;
23
24import de.ugoe.cs.autoquest.eventcore.Event;
25import de.ugoe.cs.autoquest.eventcore.IEventTarget;
26import de.ugoe.cs.autoquest.eventcore.IEventType;
27import de.ugoe.cs.autoquest.eventcore.StringEventType;
28import de.ugoe.cs.autoquest.eventcore.gui.KeyPressed;
29import de.ugoe.cs.autoquest.eventcore.gui.KeyReleased;
30import de.ugoe.cs.autoquest.eventcore.gui.KeyTyped;
31import de.ugoe.cs.autoquest.eventcore.gui.KeyboardFocusChange;
32import de.ugoe.cs.autoquest.eventcore.gui.MouseButtonDown;
33import de.ugoe.cs.autoquest.eventcore.gui.MouseButtonInteraction;
34import de.ugoe.cs.autoquest.eventcore.gui.MouseButtonUp;
35import de.ugoe.cs.autoquest.eventcore.gui.MouseClick;
36import de.ugoe.cs.autoquest.eventcore.gui.MouseDoubleClick;
37import de.ugoe.cs.autoquest.eventcore.gui.MouseDragAndDrop;
38import de.ugoe.cs.autoquest.eventcore.gui.Scroll;
39import de.ugoe.cs.autoquest.eventcore.gui.TextInput;
40import de.ugoe.cs.autoquest.eventcore.gui.TextSelection;
41import de.ugoe.cs.autoquest.eventcore.gui.ValueSelection;
42import de.ugoe.cs.autoquest.keyboardmaps.VirtualKey;
43import de.ugoe.cs.autoquest.tasktrees.taskequality.EventTaskComparisonRule;
44import de.ugoe.cs.autoquest.tasktrees.taskequality.GUIEventTaskComparisonRule;
45import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
46import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
47import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskFactory;
48import de.ugoe.cs.autoquest.tasktrees.treeimpl.TaskFactory;
49import de.ugoe.cs.autoquest.test.DummyGUIElement;
50
51/**
52 * @author Patrick Harms
53 */
54public class GUIEventTaskComparisonRuleTest {
55
56    /**
57     *
58     */
59    @Test
60    public void test_isApplicable_01() {
61        ITaskFactory taskFactory = new TaskFactory();
62
63        EventTaskComparisonRule rule = new EventTaskComparisonRule();
64
65        IEventType eventType1 = new StringEventType("eventType1");
66        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
67        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
68
69        assertTrue(rule.isApplicable(task1, task1));
70    }
71
72    /**
73     *
74     */
75    @Test
76    public void test_isApplicable_02() {
77        ITaskFactory taskFactory = new TaskFactory();
78
79        EventTaskComparisonRule rule = new EventTaskComparisonRule();
80
81        IEventType eventType1 = new StringEventType("eventType1");
82        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
83        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
84
85        IEventType eventType2 = new StringEventType("eventType2");
86        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
87        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
88
89        assertTrue(rule.isApplicable(task1, task2));
90        assertTrue(rule.isApplicable(task2, task1));
91    }
92
93    /**
94     *
95     */
96    @Test
97    public void test_isApplicable_03() {
98        ITaskFactory taskFactory = new TaskFactory();
99
100        EventTaskComparisonRule rule = new EventTaskComparisonRule();
101
102        IEventType eventType1 = new KeyboardFocusChange();
103        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
104        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
105
106        IEventType eventType2 = new KeyboardFocusChange();
107        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
108        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
109
110        assertTrue(rule.isApplicable(task1, task2));
111        assertTrue(rule.isApplicable(task2, task1));
112    }
113
114    /**
115     *
116     */
117    @Test
118    public void test_isApplicable_04() {
119        ITaskFactory taskFactory = new TaskFactory();
120
121        EventTaskComparisonRule rule = new EventTaskComparisonRule();
122
123        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A);
124        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
125        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
126
127        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_B);
128        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
129        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
130
131        assertTrue(rule.isApplicable(task1, task2));
132        assertTrue(rule.isApplicable(task2, task1));
133    }
134
135    /**
136     *
137     */
138    @Test
139    public void test_isApplicable_05() {
140        ITaskFactory taskFactory = new TaskFactory();
141
142        EventTaskComparisonRule rule = new EventTaskComparisonRule();
143
144        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_C);
145        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
146        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
147
148        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_D);
149        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
150        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
151
152        assertTrue(rule.isApplicable(task1, task2));
153        assertTrue(rule.isApplicable(task2, task1));
154    }
155
156    /**
157     *
158     */
159    @Test
160    public void test_isApplicable_06() {
161        ITaskFactory taskFactory = new TaskFactory();
162
163        EventTaskComparisonRule rule = new EventTaskComparisonRule();
164
165        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 5, 6);
166        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
167        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
168
169        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.MIDDLE, 3, 1);
170        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
171        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
172
173        assertTrue(rule.isApplicable(task1, task2));
174        assertTrue(rule.isApplicable(task2, task1));
175    }
176
177    /**
178     *
179     */
180    @Test
181    public void test_isApplicable_07() {
182        ITaskFactory taskFactory = new TaskFactory();
183
184        EventTaskComparisonRule rule = new EventTaskComparisonRule();
185
186        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.RIGHT, 4, 7);
187        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
188        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
189
190        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.X, 9, 12);
191        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
192        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
193
194        assertTrue(rule.isApplicable(task1, task2));
195        assertTrue(rule.isApplicable(task2, task1));
196    }
197
198    /**
199     *
200     */
201    @Test
202    public void test_isApplicable_08() {
203        ITaskFactory taskFactory = new TaskFactory();
204
205        EventTaskComparisonRule rule = new EventTaskComparisonRule();
206
207        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
208        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
209        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
210
211        IEventType eventType2 = new MouseDragAndDrop(5, 6, 7, 8);
212        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
213        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
214
215        assertTrue(rule.isApplicable(task1, task2));
216        assertTrue(rule.isApplicable(task2, task1));
217    }
218
219    /**
220     *
221     */
222    @Test
223    public void test_isApplicable_09() {
224        ITaskFactory taskFactory = new TaskFactory();
225
226        EventTaskComparisonRule rule = new EventTaskComparisonRule();
227
228        IEventType eventType1 = new Scroll(1, 2);
229        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
230        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
231
232        IEventType eventType2 = new Scroll(3, 4);
233        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
234        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
235
236        assertTrue(rule.isApplicable(task1, task2));
237        assertTrue(rule.isApplicable(task2, task1));
238    }
239
240    /**
241     *
242     */
243    @Test
244    public void test_isApplicable_10() {
245        ITaskFactory taskFactory = new TaskFactory();
246
247        EventTaskComparisonRule rule = new EventTaskComparisonRule();
248
249        List<Event> inputEvents = new ArrayList<Event>();
250        IEventType eventType1 = new TextInput("text1", inputEvents);
251        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
252        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
253
254        IEventType eventType2 = new TextInput("text2", inputEvents);
255        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
256        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
257
258        assertTrue(rule.isApplicable(task1, task2));
259        assertTrue(rule.isApplicable(task2, task1));
260    }
261
262    /**
263     *
264     */
265    @Test
266    public void test_isApplicable_11() {
267        ITaskFactory taskFactory = new TaskFactory();
268
269        EventTaskComparisonRule rule = new EventTaskComparisonRule();
270
271        IEventType eventType1 = new TextSelection();
272        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
273        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
274
275        IEventType eventType2 = new ValueSelection<String>("value");
276        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
277        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
278
279        assertTrue(rule.isApplicable(task1, task2));
280        assertTrue(rule.isApplicable(task2, task1));
281    }
282
283    /**
284     *
285     */
286    @Test
287    public void test_isApplicable_12() {
288        ITaskFactory taskFactory = new TaskFactory();
289
290        EventTaskComparisonRule rule = new EventTaskComparisonRule();
291
292        IEventType eventType1 = new StringEventType("eventType1");
293        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
294        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
295
296        ITask selection = taskFactory.createNewSelection();
297
298        assertFalse(rule.isApplicable(task1, selection));
299        assertFalse(rule.isApplicable(selection, task1));
300    }
301
302    /**
303     *
304     */
305    @Test
306    public void test_isApplicable_13() {
307        ITaskFactory taskFactory = new TaskFactory();
308
309        EventTaskComparisonRule rule = new EventTaskComparisonRule();
310
311        IEventType eventType1 = new StringEventType("eventType1");
312        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
313        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
314
315        ITask sequence = taskFactory.createNewSequence();
316
317        assertFalse(rule.isApplicable(task1, sequence));
318        assertFalse(rule.isApplicable(sequence, task1));
319    }
320
321    /**
322     *
323     */
324    @Test
325    public void test_isApplicable_14() {
326        ITaskFactory taskFactory = new TaskFactory();
327
328        EventTaskComparisonRule rule = new EventTaskComparisonRule();
329
330        IEventType eventType1 = new StringEventType("eventType1");
331        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
332        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
333
334        ITask iteration = taskFactory.createNewIteration();
335
336        assertFalse(rule.isApplicable(task1, iteration));
337        assertFalse(rule.isApplicable(iteration, task1));
338    }
339
340    /**
341     *
342     */
343    @Test
344    public void test_isApplicable_15() {
345        ITaskFactory taskFactory = new TaskFactory();
346
347        EventTaskComparisonRule rule = new EventTaskComparisonRule();
348
349        IEventType eventType1 = new StringEventType("eventType1");
350        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
351        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
352
353        ITask optional = taskFactory.createNewOptional();
354
355        assertFalse(rule.isApplicable(task1, optional));
356        assertFalse(rule.isApplicable(optional, task1));
357    }
358
359    /**
360     *
361     */
362    @Test
363    public void test_compare_KeyboardFocusChange_01() {
364        ITaskFactory taskFactory = new TaskFactory();
365       
366        IEventType eventType1 = new KeyboardFocusChange();
367        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
368        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
369       
370        assertLexicallyEqual(task1, task1);
371    }
372
373    /**
374     *
375     */
376    @Test
377    public void test_compare_KeyboardFocusChange_02() {
378        ITaskFactory taskFactory = new TaskFactory();
379       
380        IEventType eventType1 = new KeyboardFocusChange();
381        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
382        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
383
384        IEventType eventType2 = new KeyboardFocusChange();
385        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
386       
387        assertLexicallyEqual(task1, task2);
388    }
389
390    /**
391     *
392     */
393    @Test
394    public void test_compare_KeyboardFocusChange_03() {
395        ITaskFactory taskFactory = new TaskFactory();
396       
397        IEventType eventType1 = new KeyboardFocusChange();
398        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
399        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
400
401        IEventType eventType2 = new KeyboardFocusChange();
402        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
403        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
404       
405        assertUnequal(task1, task2);
406    }
407
408    /**
409     *
410     */
411    @Test
412    public void test_compare_KeyPressed_01() {
413        ITaskFactory taskFactory = new TaskFactory();
414       
415        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A);
416        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
417        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
418       
419        assertLexicallyEqual(task1, task1);
420    }
421
422    /**
423     *
424     */
425    @Test
426    public void test_compare_KeyPressed_02() {
427        ITaskFactory taskFactory = new TaskFactory();
428       
429        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A);
430        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
431        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
432       
433        IEventType eventType2 = new KeyPressed(VirtualKey.LETTER_A);
434        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
435       
436        assertLexicallyEqual(task1, task2);
437    }
438
439    /**
440     *
441     */
442    @Test
443    public void test_compare_KeyPressed_03() {
444        ITaskFactory taskFactory = new TaskFactory();
445       
446        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A);
447        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
448        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
449       
450        IEventType eventType2 = new KeyPressed(VirtualKey.LETTER_B);
451        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
452       
453        assertSemanticallyEqual(task1, task2);
454    }
455
456    /**
457     *
458     */
459    @Test
460    public void test_compare_KeyPressed_04() {
461        ITaskFactory taskFactory = new TaskFactory();
462       
463        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A);
464        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
465        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
466       
467        IEventType eventType2 = new KeyPressed(VirtualKey.LETTER_A);
468        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
469        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
470       
471        assertUnequal(task1, task2);
472    }
473   
474    /**
475     *
476     */
477    @Test
478    public void test_compare_KeyReleased_01() {
479        ITaskFactory taskFactory = new TaskFactory();
480       
481        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A);
482        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
483        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
484       
485        assertLexicallyEqual(task1, task1);
486    }
487
488    /**
489     *
490     */
491    @Test
492    public void test_compare_KeyReleased_02() {
493        ITaskFactory taskFactory = new TaskFactory();
494       
495        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A);
496        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
497        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
498       
499        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_A);
500        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
501       
502        assertLexicallyEqual(task1, task2);
503    }
504
505    /**
506     *
507     */
508    @Test
509    public void test_compare_KeyReleased_03() {
510        ITaskFactory taskFactory = new TaskFactory();
511       
512        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A);
513        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
514        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
515       
516        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_B);
517        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
518       
519        assertSemanticallyEqual(task1, task2);
520    }
521
522    /**
523     *
524     */
525    @Test
526    public void test_compare_KeyReleased_04() {
527        ITaskFactory taskFactory = new TaskFactory();
528       
529        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A);
530        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
531        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
532       
533        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_A);
534        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
535        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
536       
537        assertUnequal(task1, task2);
538    }
539   
540    /**
541     *
542     */
543    @Test
544    public void test_compare_KeyTyped_01() {
545        ITaskFactory taskFactory = new TaskFactory();
546       
547        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A);
548        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
549        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
550       
551        assertLexicallyEqual(task1, task1);
552    }
553
554    /**
555     *
556     */
557    @Test
558    public void test_compare_KeyTyped_02() {
559        ITaskFactory taskFactory = new TaskFactory();
560       
561        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A);
562        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
563        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
564       
565        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_A);
566        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
567       
568        assertLexicallyEqual(task1, task2);
569    }
570
571    /**
572     *
573     */
574    @Test
575    public void test_compare_KeyTyped_03() {
576        ITaskFactory taskFactory = new TaskFactory();
577       
578        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A);
579        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
580        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
581       
582        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_B);
583        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
584       
585        assertSemanticallyEqual(task1, task2);
586    }
587
588    /**
589     *
590     */
591    @Test
592    public void test_compare_KeyTyped_04() {
593        ITaskFactory taskFactory = new TaskFactory();
594       
595        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A);
596        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
597        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
598       
599        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_A);
600        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
601        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
602       
603        assertUnequal(task1, task2);
604    }
605   
606    /**
607     *
608     */
609    @Test
610    public void test_compare_MouseButtonDown_01() {
611        ITaskFactory taskFactory = new TaskFactory();
612       
613        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
614        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
615        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
616       
617        assertLexicallyEqual(task1, task1);
618    }
619
620    /**
621     *
622     */
623    @Test
624    public void test_compare_MouseButtonDown_02() {
625        ITaskFactory taskFactory = new TaskFactory();
626       
627        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
628        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
629        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
630       
631        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
632        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
633       
634        assertLexicallyEqual(task1, task2);
635    }
636
637    /**
638     *
639     */
640    @Test
641    public void test_compare_MouseButtonDown_03() {
642        ITaskFactory taskFactory = new TaskFactory();
643       
644        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
645        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
646        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
647       
648        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 3);
649        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
650       
651        assertSemanticallyEqual(task1, task2);
652    }
653
654    /**
655     *
656     */
657    @Test
658    public void test_compare_MouseButtonDown_04() {
659        ITaskFactory taskFactory = new TaskFactory();
660       
661        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
662        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
663        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
664       
665        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 3, 2);
666        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
667       
668        assertSemanticallyEqual(task1, task2);
669    }
670
671    /**
672     *
673     */
674    @Test
675    public void test_compare_MouseButtonDown_05() {
676        ITaskFactory taskFactory = new TaskFactory();
677       
678        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
679        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
680        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
681       
682        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.RIGHT, 1, 2);
683        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
684       
685        assertUnequal(task1, task2);
686    }
687   
688    /**
689     *
690     */
691    @Test
692    public void test_compare_MouseButtonDown_06() {
693        ITaskFactory taskFactory = new TaskFactory();
694       
695        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
696        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
697        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
698       
699        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2);
700        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
701        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
702       
703        assertUnequal(task1, task2);
704    }
705   
706    /**
707     *
708     */
709    @Test
710    public void test_compare_MouseButtonUp_01() {
711        ITaskFactory taskFactory = new TaskFactory();
712       
713        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
714        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
715        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
716       
717        assertLexicallyEqual(task1, task1);
718    }
719
720    /**
721     *
722     */
723    @Test
724    public void test_compare_MouseButtonUp_02() {
725        ITaskFactory taskFactory = new TaskFactory();
726       
727        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
728        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
729        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
730       
731        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
732        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
733       
734        assertLexicallyEqual(task1, task2);
735    }
736
737    /**
738     *
739     */
740    @Test
741    public void test_compare_MouseButtonUp_03() {
742        ITaskFactory taskFactory = new TaskFactory();
743       
744        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
745        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
746        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
747       
748        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 3);
749        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
750       
751        assertSemanticallyEqual(task1, task2);
752    }
753
754    /**
755     *
756     */
757    @Test
758    public void test_compare_MouseButtonUp_04() {
759        ITaskFactory taskFactory = new TaskFactory();
760       
761        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
762        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
763        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
764       
765        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 3, 2);
766        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
767       
768        assertSemanticallyEqual(task1, task2);
769    }
770
771    /**
772     *
773     */
774    @Test
775    public void test_compare_MouseButtonUp_05() {
776        ITaskFactory taskFactory = new TaskFactory();
777       
778        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
779        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
780        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
781       
782        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.RIGHT, 1, 2);
783        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
784       
785        assertUnequal(task1, task2);
786    }
787   
788    /**
789     *
790     */
791    @Test
792    public void test_compare_MouseButtonUp_06() {
793        ITaskFactory taskFactory = new TaskFactory();
794       
795        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
796        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
797        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
798       
799        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2);
800        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
801        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
802       
803        assertUnequal(task1, task2);
804    }
805   
806    /**
807     *
808     */
809    @Test
810    public void test_compare_MouseClick_01() {
811        ITaskFactory taskFactory = new TaskFactory();
812       
813        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
814        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
815        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
816       
817        assertLexicallyEqual(task1, task1);
818    }
819
820    /**
821     *
822     */
823    @Test
824    public void test_compare_MouseClick_02() {
825        ITaskFactory taskFactory = new TaskFactory();
826       
827        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
828        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
829        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
830       
831        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
832        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
833       
834        assertLexicallyEqual(task1, task2);
835    }
836
837    /**
838     *
839     */
840    @Test
841    public void test_compare_MouseClick_03() {
842        ITaskFactory taskFactory = new TaskFactory();
843       
844        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
845        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
846        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
847       
848        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 3);
849        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
850       
851        assertSemanticallyEqual(task1, task2);
852    }
853
854    /**
855     *
856     */
857    @Test
858    public void test_compare_MouseClick_04() {
859        ITaskFactory taskFactory = new TaskFactory();
860       
861        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
862        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
863        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
864       
865        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 3, 2);
866        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
867       
868        assertSemanticallyEqual(task1, task2);
869    }
870
871    /**
872     *
873     */
874    @Test
875    public void test_compare_MouseClick_05() {
876        ITaskFactory taskFactory = new TaskFactory();
877       
878        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
879        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
880        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
881       
882        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.RIGHT, 1, 2);
883        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
884       
885        assertUnequal(task1, task2);
886    }
887   
888    /**
889     *
890     */
891    @Test
892    public void test_compare_MouseClick_06() {
893        ITaskFactory taskFactory = new TaskFactory();
894       
895        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
896        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
897        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
898       
899        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2);
900        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
901        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
902       
903        assertUnequal(task1, task2);
904    }
905   
906    /**
907     *
908     */
909    @Test
910    public void test_compare_MouseDoubleClick_01() {
911        ITaskFactory taskFactory = new TaskFactory();
912       
913        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
914        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
915        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
916       
917        assertLexicallyEqual(task1, task1);
918    }
919
920    /**
921     *
922     */
923    @Test
924    public void test_compare_MouseDoubleClick_02() {
925        ITaskFactory taskFactory = new TaskFactory();
926       
927        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
928        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
929        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
930       
931        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
932        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
933       
934        assertLexicallyEqual(task1, task2);
935    }
936
937    /**
938     *
939     */
940    @Test
941    public void test_compare_MouseDoubleClick_03() {
942        ITaskFactory taskFactory = new TaskFactory();
943       
944        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
945        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
946        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
947       
948        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 3);
949        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
950       
951        assertSemanticallyEqual(task1, task2);
952    }
953
954    /**
955     *
956     */
957    @Test
958    public void test_compare_MouseDoubleClick_04() {
959        ITaskFactory taskFactory = new TaskFactory();
960       
961        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
962        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
963        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
964       
965        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 3, 2);
966        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
967       
968        assertSemanticallyEqual(task1, task2);
969    }
970
971    /**
972     *
973     */
974    @Test
975    public void test_compare_MouseDoubleClick_05() {
976        ITaskFactory taskFactory = new TaskFactory();
977       
978        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
979        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
980        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
981       
982        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.RIGHT, 1, 2);
983        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
984       
985        assertUnequal(task1, task2);
986    }
987   
988    /**
989     *
990     */
991    @Test
992    public void test_compare_MouseDoubleClick_06() {
993        ITaskFactory taskFactory = new TaskFactory();
994       
995        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
996        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
997        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
998       
999        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2);
1000        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
1001        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
1002       
1003        assertUnequal(task1, task2);
1004    }
1005   
1006    /**
1007     *
1008     */
1009    @Test
1010    public void test_compare_MouseDragAndDrop_01() {
1011        ITaskFactory taskFactory = new TaskFactory();
1012       
1013        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
1014        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1015        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1016       
1017        assertLexicallyEqual(task1, task1);
1018    }
1019
1020    /**
1021     *
1022     */
1023    @Test
1024    public void test_compare_MouseDragAndDrop_02() {
1025        ITaskFactory taskFactory = new TaskFactory();
1026       
1027        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
1028        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1029        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1030       
1031        IEventType eventType2 = new MouseDragAndDrop(1, 2, 3, 4);
1032        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1033       
1034        assertLexicallyEqual(task1, task2);
1035    }
1036
1037    /**
1038     *
1039     */
1040    @Test
1041    public void test_compare_MouseDragAndDrop_03() {
1042        ITaskFactory taskFactory = new TaskFactory();
1043       
1044        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
1045        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1046        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1047       
1048        IEventType eventType2 = new MouseDragAndDrop(5, 2, 3, 4);
1049        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1050       
1051        assertSemanticallyEqual(task1, task2);
1052    }
1053
1054    /**
1055     *
1056     */
1057    @Test
1058    public void test_compare_MouseDragAndDrop_04() {
1059        ITaskFactory taskFactory = new TaskFactory();
1060       
1061        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
1062        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1063        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1064       
1065        IEventType eventType2 = new MouseDragAndDrop(1, 5, 3, 4);
1066        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1067       
1068        assertSemanticallyEqual(task1, task2);
1069    }
1070
1071    /**
1072     *
1073     */
1074    @Test
1075    public void test_compare_MouseDragAndDrop_05() {
1076        ITaskFactory taskFactory = new TaskFactory();
1077       
1078        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
1079        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1080        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1081       
1082        IEventType eventType2 = new MouseDragAndDrop(1, 2, 5, 4);
1083        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1084       
1085        assertSemanticallyEqual(task1, task2);
1086    }
1087
1088    /**
1089     *
1090     */
1091    @Test
1092    public void test_compare_MouseDragAndDrop_06() {
1093        ITaskFactory taskFactory = new TaskFactory();
1094       
1095        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
1096        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1097        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1098       
1099        IEventType eventType2 = new MouseDragAndDrop(1, 2, 3, 5);
1100        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1101       
1102        assertSemanticallyEqual(task1, task2);
1103    }
1104
1105    /**
1106     *
1107     */
1108    @Test
1109    public void test_compare_MouseDragAndDrop_07() {
1110        ITaskFactory taskFactory = new TaskFactory();
1111       
1112        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4);
1113        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1114        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1115       
1116        IEventType eventType2 = new MouseDragAndDrop(1, 2, 3, 4);
1117        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
1118        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
1119       
1120        assertUnequal(task1, task2);
1121    }
1122
1123    /**
1124     *
1125     */
1126    @Test
1127    public void test_compare_Scroll_01() {
1128        ITaskFactory taskFactory = new TaskFactory();
1129       
1130        IEventType eventType1 = new Scroll(1, 2);
1131        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1132        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1133       
1134        assertLexicallyEqual(task1, task1);
1135    }
1136
1137    /**
1138     *
1139     */
1140    @Test
1141    public void test_compare_Scroll_02() {
1142        ITaskFactory taskFactory = new TaskFactory();
1143       
1144        IEventType eventType1 = new Scroll(1, 2);
1145        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1146        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1147       
1148        IEventType eventType2 = new Scroll(1, 2);
1149        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1150       
1151        assertLexicallyEqual(task1, task2);
1152    }
1153
1154    /**
1155     *
1156     */
1157    @Test
1158    public void test_compare_Scroll_03() {
1159        ITaskFactory taskFactory = new TaskFactory();
1160       
1161        IEventType eventType1 = new Scroll(1, 2);
1162        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1163        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1164       
1165        IEventType eventType2 = new Scroll(3, 2);
1166        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1167       
1168        assertSemanticallyEqual(task1, task2);
1169    }
1170
1171    /**
1172     *
1173     */
1174    @Test
1175    public void test_compare_Scroll_04() {
1176        ITaskFactory taskFactory = new TaskFactory();
1177       
1178        IEventType eventType1 = new Scroll(1, 2);
1179        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1180        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1181       
1182        IEventType eventType2 = new Scroll(1, 3);
1183        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1184       
1185        assertSemanticallyEqual(task1, task2);
1186    }
1187
1188    /**
1189     *
1190     */
1191    @Test
1192    public void test_compare_Scroll_05() {
1193        ITaskFactory taskFactory = new TaskFactory();
1194       
1195        IEventType eventType1 = new Scroll(1, 2);
1196        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1197        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1198       
1199        IEventType eventType2 = new Scroll(1, 2);
1200        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
1201        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
1202       
1203        assertUnequal(task1, task2);
1204    }
1205   
1206    /**
1207     *
1208     */
1209    @Test
1210    public void test_compare_TextInput_01() {
1211        ITaskFactory taskFactory = new TaskFactory();
1212       
1213        IEventType eventType1 = new StringEventType("eventType1");
1214        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1215        List<Event> textInputEvents1 = new ArrayList<Event>();
1216        textInputEvents1.add(new Event(eventType1, eventTarget1));
1217        eventType1 = new TextInput("enteredText1", textInputEvents1);
1218        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1219       
1220        assertLexicallyEqual(task1, task1);
1221    }
1222   
1223    /**
1224     *
1225     */
1226    @Test
1227    public void test_compare_TextInput_02() {
1228        ITaskFactory taskFactory = new TaskFactory();
1229       
1230        IEventType eventType1 = new StringEventType("eventType1");
1231        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1232        List<Event> textInputEvents1 = new ArrayList<Event>();
1233        textInputEvents1.add(new Event(eventType1, eventTarget1));
1234        eventType1 = new TextInput("enteredText1", textInputEvents1);
1235        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1236       
1237        IEventType eventType2 = new TextInput("enteredText1", textInputEvents1);
1238        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1239
1240        assertLexicallyEqual(task1, task2);
1241    }
1242   
1243    /**
1244     *
1245     */
1246    @Test
1247    public void test_compare_TextInput_03() {
1248        ITaskFactory taskFactory = new TaskFactory();
1249       
1250        IEventType eventType1 = new StringEventType("eventType1");
1251        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1252        List<Event> textInputEvents1 = new ArrayList<Event>();
1253        textInputEvents1.add(new Event(eventType1, eventTarget1));
1254        eventType1 = new TextInput("enteredText1", textInputEvents1);
1255        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1256       
1257        IEventType eventType2 = new StringEventType("eventType2");
1258        List<Event> textInputEvents2 = new ArrayList<Event>();
1259        textInputEvents2.add(new Event(eventType2, eventTarget1));
1260        eventType2 = new TextInput("enteredText1", textInputEvents2);
1261        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1262
1263        assertSyntacticallyEqual(task1, task2);
1264    }
1265   
1266    /**
1267     *
1268     */
1269    @Test
1270    public void test_compare_TextInput_04() {
1271        ITaskFactory taskFactory = new TaskFactory();
1272       
1273        IEventType eventType1 = new StringEventType("eventType1");
1274        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1275        List<Event> textInputEvents1 = new ArrayList<Event>();
1276        textInputEvents1.add(new Event(eventType1, eventTarget1));
1277        eventType1 = new TextInput("enteredText1", textInputEvents1);
1278        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1279       
1280        IEventType eventType2 = new StringEventType("eventType2");
1281        List<Event> textInputEvents2 = new ArrayList<Event>();
1282        textInputEvents2.add(new Event(eventType2, eventTarget1));
1283        eventType2 = new TextInput("enteredText2", textInputEvents2);
1284        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1285
1286        assertSemanticallyEqual(task1, task2);
1287    }
1288   
1289    /**
1290     *
1291     */
1292    @Test
1293    public void test_compare_TextInput_05() {
1294        ITaskFactory taskFactory = new TaskFactory();
1295       
1296        IEventType eventType1 = new StringEventType("eventType1");
1297        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1298        List<Event> textInputEvents1 = new ArrayList<Event>();
1299        textInputEvents1.add(new Event(eventType1, eventTarget1));
1300        eventType1 = new TextInput("enteredText1", textInputEvents1);
1301        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1302       
1303        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
1304        ITask task2 = taskFactory.createNewEventTask(eventType1, eventTarget2);
1305
1306        assertUnequal(task1, task2);
1307    }
1308
1309    /**
1310     *
1311     */
1312    @Test
1313    public void test_compare_TextSelection_01() {
1314        ITaskFactory taskFactory = new TaskFactory();
1315       
1316        IEventType eventType1 = new TextSelection();
1317        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1318        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1319       
1320        assertLexicallyEqual(task1, task1);
1321    }
1322
1323    /**
1324     *
1325     */
1326    @Test
1327    public void test_compare_TextSelection_02() {
1328        ITaskFactory taskFactory = new TaskFactory();
1329       
1330        IEventType eventType1 = new TextSelection();
1331        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1332        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1333
1334        IEventType eventType2 = new TextSelection();
1335        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1336       
1337        assertLexicallyEqual(task1, task2);
1338    }
1339
1340    /**
1341     *
1342     */
1343    @Test
1344    public void test_compare_TextSelection_03() {
1345        ITaskFactory taskFactory = new TaskFactory();
1346       
1347        IEventType eventType1 = new TextSelection();
1348        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1349        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1350
1351        IEventType eventType2 = new TextSelection();
1352        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
1353        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
1354       
1355        assertUnequal(task1, task2);
1356    }
1357
1358    /**
1359     *
1360     */
1361    @Test
1362    public void test_compare_ValueSelection_01() {
1363        ITaskFactory taskFactory = new TaskFactory();
1364       
1365        IEventType eventType1 = new ValueSelection<String>("value1");
1366        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1367        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1368       
1369        assertLexicallyEqual(task1, task1);
1370    }
1371
1372    /**
1373     *
1374     */
1375    @Test
1376    public void test_compare_ValueSelection_02() {
1377        ITaskFactory taskFactory = new TaskFactory();
1378       
1379        IEventType eventType1 = new ValueSelection<String>("value1");
1380        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1381        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1382       
1383        IEventType eventType2 = new ValueSelection<String>("value1");
1384        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1385       
1386        assertLexicallyEqual(task1, task2);
1387    }
1388
1389    /**
1390     *
1391     */
1392    @Test
1393    public void test_compare_ValueSelection_03() {
1394        ITaskFactory taskFactory = new TaskFactory();
1395       
1396        IEventType eventType1 = new ValueSelection<String>("value1");
1397        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1398        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1399       
1400        IEventType eventType2 = new ValueSelection<String>("value2");
1401        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1);
1402       
1403        assertSemanticallyEqual(task1, task2);
1404    }
1405
1406    /**
1407     *
1408     */
1409    @Test
1410    public void test_compare_ValueSelection_04() {
1411        ITaskFactory taskFactory = new TaskFactory();
1412       
1413        IEventType eventType1 = new ValueSelection<String>("value1");
1414        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
1415        ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1);
1416       
1417        IEventType eventType2 = new ValueSelection<String>("value1");
1418        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
1419        ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2);
1420       
1421        assertUnequal(task1, task2);
1422    }
1423   
1424    /**
1425     *
1426     */
1427    private void assertLexicallyEqual(ITask task1, ITask task2) {
1428        GUIEventTaskComparisonRule rule = new GUIEventTaskComparisonRule();
1429       
1430        assertEquals(TaskEquality.LEXICALLY_EQUAL, rule.compare(task1, task2));
1431        assertTrue(rule.areLexicallyEqual(task1, task2));
1432        assertTrue(rule.areSyntacticallyEqual(task1, task2));
1433        assertTrue(rule.areSemanticallyEqual(task1, task2));
1434
1435        assertEquals(TaskEquality.LEXICALLY_EQUAL, rule.compare(task2, task1));
1436        assertTrue(rule.areLexicallyEqual(task2, task1));
1437        assertTrue(rule.areSyntacticallyEqual(task2, task1));
1438        assertTrue(rule.areSemanticallyEqual(task2, task1));
1439    }
1440
1441    /**
1442     *
1443     */
1444    private void assertSyntacticallyEqual(ITask task1, ITask task2) {
1445        GUIEventTaskComparisonRule rule = new GUIEventTaskComparisonRule();
1446       
1447        assertEquals(TaskEquality.SYNTACTICALLY_EQUAL, rule.compare(task1, task2));
1448        assertFalse(rule.areLexicallyEqual(task1, task2));
1449        assertTrue(rule.areSyntacticallyEqual(task1, task2));
1450        assertTrue(rule.areSemanticallyEqual(task1, task2));
1451
1452        assertEquals(TaskEquality.SYNTACTICALLY_EQUAL, rule.compare(task2, task1));
1453        assertFalse(rule.areLexicallyEqual(task2, task1));
1454        assertTrue(rule.areSyntacticallyEqual(task2, task1));
1455        assertTrue(rule.areSemanticallyEqual(task2, task1));
1456    }
1457
1458    /**
1459     *
1460     */
1461    private void assertSemanticallyEqual(ITask task1, ITask task2) {
1462        GUIEventTaskComparisonRule rule = new GUIEventTaskComparisonRule();
1463       
1464        assertEquals(TaskEquality.SEMANTICALLY_EQUAL, rule.compare(task1, task2));
1465        assertFalse(rule.areLexicallyEqual(task1, task2));
1466        assertFalse(rule.areSyntacticallyEqual(task1, task2));
1467        assertTrue(rule.areSemanticallyEqual(task1, task2));
1468
1469        assertEquals(TaskEquality.SEMANTICALLY_EQUAL, rule.compare(task2, task1));
1470        assertFalse(rule.areLexicallyEqual(task2, task1));
1471        assertFalse(rule.areSyntacticallyEqual(task2, task1));
1472        assertTrue(rule.areSemanticallyEqual(task2, task1));
1473    }
1474
1475    /**
1476     *
1477     */
1478    private void assertUnequal(ITask task1, ITask task2) {
1479        GUIEventTaskComparisonRule rule = new GUIEventTaskComparisonRule();
1480       
1481        assertEquals(TaskEquality.UNEQUAL, rule.compare(task1, task2));
1482        assertFalse(rule.areLexicallyEqual(task1, task2));
1483        assertFalse(rule.areSyntacticallyEqual(task1, task2));
1484        assertFalse(rule.areSemanticallyEqual(task1, task2));
1485
1486        assertEquals(TaskEquality.UNEQUAL, rule.compare(task2, task1));
1487        assertFalse(rule.areLexicallyEqual(task2, task1));
1488        assertFalse(rule.areSyntacticallyEqual(task2, task1));
1489        assertFalse(rule.areSemanticallyEqual(task2, task1));
1490    }
1491}
Note: See TracBrowser for help on using the repository browser.