Ignore:
Timestamp:
08/14/13 17:04:42 (11 years ago)
Author:
pharms
Message:
  • rework of task model to move event instance stuff to task instances
  • introduction of sequence, selection, iteration and optional instances
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/GUIEventTaskComparisonRuleTest.java

    r1146 r1294  
    4242import de.ugoe.cs.autoquest.keyboardmaps.VirtualKey; 
    4343import de.ugoe.cs.autoquest.tasktrees.taskequality.EventTaskComparisonRule; 
    44 import de.ugoe.cs.autoquest.tasktrees.taskequality.GUIEventTaskComparisonRule; 
    45 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality; 
    4644import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask; 
    47 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskFactory; 
    48 import de.ugoe.cs.autoquest.tasktrees.treeimpl.TaskFactory; 
    4945import de.ugoe.cs.autoquest.test.DummyGUIElement; 
    5046 
     
    5248 * @author Patrick Harms 
    5349 */ 
    54 public class GUIEventTaskComparisonRuleTest { 
     50public class GUIEventTaskComparisonRuleTest extends AbstractComparisonRuleTest { 
    5551 
    5652    /** 
     
    5955    @Test 
    6056    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); 
     57        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     58 
     59        IEventType eventType1 = new StringEventType("eventType1"); 
     60        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     61        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    6862 
    6963        assertTrue(rule.isApplicable(task1, task1)); 
     
    7569    @Test 
    7670    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); 
     71        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     72 
     73        IEventType eventType1 = new StringEventType("eventType1"); 
     74        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     75        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    8476 
    8577        IEventType eventType2 = new StringEventType("eventType2"); 
    8678        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    87         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     79        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    8880 
    8981        assertTrue(rule.isApplicable(task1, task2)); 
     
    9688    @Test 
    9789    public void test_isApplicable_03() { 
    98         ITaskFactory taskFactory = new TaskFactory(); 
    99  
    10090        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    10191 
    10292        IEventType eventType1 = new KeyboardFocusChange(); 
    10393        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    104         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     94        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    10595 
    10696        IEventType eventType2 = new KeyboardFocusChange(); 
    10797        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    108         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     98        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    10999 
    110100        assertTrue(rule.isApplicable(task1, task2)); 
     
    117107    @Test 
    118108    public void test_isApplicable_04() { 
    119         ITaskFactory taskFactory = new TaskFactory(); 
    120  
    121109        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    122110 
    123111        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A); 
    124112        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    125         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     113        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    126114 
    127115        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_B); 
    128116        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    129         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     117        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    130118 
    131119        assertTrue(rule.isApplicable(task1, task2)); 
     
    138126    @Test 
    139127    public void test_isApplicable_05() { 
    140         ITaskFactory taskFactory = new TaskFactory(); 
    141  
    142128        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    143129 
    144130        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_C); 
    145131        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    146         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     132        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    147133 
    148134        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_D); 
    149135        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    150         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     136        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    151137 
    152138        assertTrue(rule.isApplicable(task1, task2)); 
     
    159145    @Test 
    160146    public void test_isApplicable_06() { 
    161         ITaskFactory taskFactory = new TaskFactory(); 
    162  
    163147        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    164148 
    165149        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 5, 6); 
    166150        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    167         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     151        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    168152 
    169153        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.MIDDLE, 3, 1); 
    170154        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    171         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     155        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    172156 
    173157        assertTrue(rule.isApplicable(task1, task2)); 
     
    180164    @Test 
    181165    public void test_isApplicable_07() { 
    182         ITaskFactory taskFactory = new TaskFactory(); 
    183  
    184166        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    185167 
    186168        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.RIGHT, 4, 7); 
    187169        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    188         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     170        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    189171 
    190172        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.X, 9, 12); 
    191173        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    192         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     174        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    193175 
    194176        assertTrue(rule.isApplicable(task1, task2)); 
     
    201183    @Test 
    202184    public void test_isApplicable_08() { 
    203         ITaskFactory taskFactory = new TaskFactory(); 
    204  
    205185        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    206186 
    207187        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    208188        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    209         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     189        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    210190 
    211191        IEventType eventType2 = new MouseDragAndDrop(5, 6, 7, 8); 
    212192        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    213         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     193        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    214194 
    215195        assertTrue(rule.isApplicable(task1, task2)); 
     
    222202    @Test 
    223203    public void test_isApplicable_09() { 
    224         ITaskFactory taskFactory = new TaskFactory(); 
    225  
    226204        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    227205 
    228206        IEventType eventType1 = new Scroll(1, 2); 
    229207        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    230         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     208        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    231209 
    232210        IEventType eventType2 = new Scroll(3, 4); 
    233211        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    234         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     212        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    235213 
    236214        assertTrue(rule.isApplicable(task1, task2)); 
     
    243221    @Test 
    244222    public void test_isApplicable_10() { 
    245         ITaskFactory taskFactory = new TaskFactory(); 
    246  
    247223        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    248224 
     
    250226        IEventType eventType1 = new TextInput("text1", inputEvents); 
    251227        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    252         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     228        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    253229 
    254230        IEventType eventType2 = new TextInput("text2", inputEvents); 
    255231        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    256         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     232        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    257233 
    258234        assertTrue(rule.isApplicable(task1, task2)); 
     
    265241    @Test 
    266242    public void test_isApplicable_11() { 
    267         ITaskFactory taskFactory = new TaskFactory(); 
    268  
    269243        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
    270244 
    271245        IEventType eventType1 = new TextSelection(); 
    272246        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    273         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     247        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    274248 
    275249        IEventType eventType2 = new ValueSelection<String>("value"); 
    276250        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    277         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
     251        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
    278252 
    279253        assertTrue(rule.isApplicable(task1, task2)); 
     
    286260    @Test 
    287261    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(); 
     262        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     263 
     264        IEventType eventType1 = new StringEventType("eventType1"); 
     265        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     266        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     267 
     268        ITask selection = createNewSelection(); 
    297269 
    298270        assertFalse(rule.isApplicable(task1, selection)); 
     
    305277    @Test 
    306278    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(); 
     279        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     280 
     281        IEventType eventType1 = new StringEventType("eventType1"); 
     282        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     283        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     284 
     285        ITask sequence = createNewSequence(); 
    316286 
    317287        assertFalse(rule.isApplicable(task1, sequence)); 
     
    324294    @Test 
    325295    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(); 
     296        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     297 
     298        IEventType eventType1 = new StringEventType("eventType1"); 
     299        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     300        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     301 
     302        ITask iteration = createNewIteration(); 
    335303 
    336304        assertFalse(rule.isApplicable(task1, iteration)); 
     
    343311    @Test 
    344312    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(); 
     313        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     314 
     315        IEventType eventType1 = new StringEventType("eventType1"); 
     316        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     317        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     318 
     319        ITask optional = createNewOptional(); 
    354320 
    355321        assertFalse(rule.isApplicable(task1, optional)); 
     
    357323    } 
    358324 
     325 
     326    /** 
     327     * 
     328     */ 
     329    @Test 
     330    public void test_isApplicable_16() { 
     331        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     332 
     333        IEventType eventType1 = new StringEventType("eventType1"); 
     334        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     335        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     336 
     337        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     338                                     task1.getInstances().iterator().next())); 
     339    } 
     340 
     341    /** 
     342     * 
     343     */ 
     344    @Test 
     345    public void test_isApplicable_17() { 
     346        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     347 
     348        IEventType eventType1 = new StringEventType("eventType1"); 
     349        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     350        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     351 
     352        IEventType eventType2 = new StringEventType("eventType2"); 
     353        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     354        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     355 
     356        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     357                                     task2.getInstances().iterator().next())); 
     358        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     359                                     task1.getInstances().iterator().next())); 
     360    } 
     361 
     362    /** 
     363     * 
     364     */ 
     365    @Test 
     366    public void test_isApplicable_18() { 
     367        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     368 
     369        IEventType eventType1 = new KeyboardFocusChange(); 
     370        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     371        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     372 
     373        IEventType eventType2 = new KeyboardFocusChange(); 
     374        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     375        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     376 
     377        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     378                                     task2.getInstances().iterator().next())); 
     379        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     380                                     task1.getInstances().iterator().next())); 
     381    } 
     382 
     383    /** 
     384     * 
     385     */ 
     386    @Test 
     387    public void test_isApplicable_19() { 
     388        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     389 
     390        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A); 
     391        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     392        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     393 
     394        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_B); 
     395        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     396        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     397 
     398        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     399                                     task2.getInstances().iterator().next())); 
     400        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     401                                     task1.getInstances().iterator().next())); 
     402    } 
     403 
     404    /** 
     405     * 
     406     */ 
     407    @Test 
     408    public void test_isApplicable_20() { 
     409        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     410 
     411        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_C); 
     412        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     413        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     414 
     415        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_D); 
     416        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     417        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     418 
     419        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     420                                     task2.getInstances().iterator().next())); 
     421        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     422                                     task1.getInstances().iterator().next())); 
     423    } 
     424 
     425    /** 
     426     * 
     427     */ 
     428    @Test 
     429    public void test_isApplicable_21() { 
     430        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     431 
     432        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 5, 6); 
     433        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     434        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     435 
     436        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.MIDDLE, 3, 1); 
     437        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     438        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     439 
     440        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     441                                     task2.getInstances().iterator().next())); 
     442        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     443                                     task1.getInstances().iterator().next())); 
     444    } 
     445 
     446    /** 
     447     * 
     448     */ 
     449    @Test 
     450    public void test_isApplicable_22() { 
     451        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     452 
     453        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.RIGHT, 4, 7); 
     454        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     455        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     456 
     457        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.X, 9, 12); 
     458        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     459        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     460 
     461        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     462                                     task2.getInstances().iterator().next())); 
     463        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     464                                     task1.getInstances().iterator().next())); 
     465    } 
     466 
     467    /** 
     468     * 
     469     */ 
     470    @Test 
     471    public void test_isApplicable_23() { 
     472        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     473 
     474        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
     475        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     476        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     477 
     478        IEventType eventType2 = new MouseDragAndDrop(5, 6, 7, 8); 
     479        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     480        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     481 
     482        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     483                                     task2.getInstances().iterator().next())); 
     484        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     485                                     task1.getInstances().iterator().next())); 
     486    } 
     487 
     488    /** 
     489     * 
     490     */ 
     491    @Test 
     492    public void test_isApplicable_24() { 
     493        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     494 
     495        IEventType eventType1 = new Scroll(1, 2); 
     496        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     497        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     498 
     499        IEventType eventType2 = new Scroll(3, 4); 
     500        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     501        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     502 
     503        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     504                                     task2.getInstances().iterator().next())); 
     505        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     506                                     task1.getInstances().iterator().next())); 
     507    } 
     508 
     509    /** 
     510     * 
     511     */ 
     512    @Test 
     513    public void test_isApplicable_25() { 
     514        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     515 
     516        List<Event> inputEvents = new ArrayList<Event>(); 
     517        IEventType eventType1 = new TextInput("text1", inputEvents); 
     518        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     519        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     520 
     521        IEventType eventType2 = new TextInput("text2", inputEvents); 
     522        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     523        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     524 
     525        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), task2.getInstances().iterator().next())); 
     526        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), task1.getInstances().iterator().next())); 
     527    } 
     528 
     529    /** 
     530     * 
     531     */ 
     532    @Test 
     533    public void test_isApplicable_26() { 
     534        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     535 
     536        IEventType eventType1 = new TextSelection(); 
     537        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     538        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     539 
     540        IEventType eventType2 = new ValueSelection<String>("value"); 
     541        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     542        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     543 
     544        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(), 
     545                                     task2.getInstances().iterator().next())); 
     546        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(), 
     547                                     task1.getInstances().iterator().next())); 
     548    } 
     549 
     550    /** 
     551     * 
     552     */ 
     553    @Test 
     554    public void test_isApplicable_27() { 
     555        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     556 
     557        IEventType eventType1 = new StringEventType("eventType1"); 
     558        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     559        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     560 
     561        ITask selection = createNewSelection(); 
     562 
     563        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(), 
     564                                      selection.getInstances().iterator().next())); 
     565        assertFalse(rule.isApplicable(selection.getInstances().iterator().next(), 
     566                                      task1.getInstances().iterator().next())); 
     567    } 
     568 
     569    /** 
     570     * 
     571     */ 
     572    @Test 
     573    public void test_isApplicable_28() { 
     574        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     575 
     576        IEventType eventType1 = new StringEventType("eventType1"); 
     577        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     578        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     579 
     580        ITask sequence = createNewSequence(); 
     581 
     582        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(), 
     583                                      sequence.getInstances().iterator().next())); 
     584        assertFalse(rule.isApplicable(sequence.getInstances().iterator().next(), 
     585                                      task1.getInstances().iterator().next())); 
     586    } 
     587 
     588    /** 
     589     * 
     590     */ 
     591    @Test 
     592    public void test_isApplicable_29() { 
     593        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     594 
     595        IEventType eventType1 = new StringEventType("eventType1"); 
     596        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     597        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     598 
     599        ITask iteration = createNewIteration(); 
     600 
     601        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(), 
     602                                      iteration.getInstances().iterator().next())); 
     603        assertFalse(rule.isApplicable(iteration.getInstances().iterator().next(), 
     604                                      task1.getInstances().iterator().next())); 
     605    } 
     606 
     607    /** 
     608     * 
     609     */ 
     610    @Test 
     611    public void test_isApplicable_30() { 
     612        EventTaskComparisonRule rule = new EventTaskComparisonRule(); 
     613 
     614        IEventType eventType1 = new StringEventType("eventType1"); 
     615        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     616        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     617 
     618        ITask optional = createNewOptional(); 
     619 
     620        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(), 
     621                                      optional.getInstances().iterator().next())); 
     622        assertFalse(rule.isApplicable(optional.getInstances().iterator().next(), 
     623                                      task1.getInstances().iterator().next())); 
     624    } 
     625 
    359626    /** 
    360627     * 
     
    362629    @Test 
    363630    public void test_compare_KeyboardFocusChange_01() { 
    364         ITaskFactory taskFactory = new TaskFactory(); 
    365          
    366631        IEventType eventType1 = new KeyboardFocusChange(); 
    367632        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    368         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    369          
    370         assertLexicallyEqual(task1, task1); 
     633        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     634         
     635        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    371636    } 
    372637 
     
    376641    @Test 
    377642    public void test_compare_KeyboardFocusChange_02() { 
    378         ITaskFactory taskFactory = new TaskFactory(); 
    379          
    380643        IEventType eventType1 = new KeyboardFocusChange(); 
    381644        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    382         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     645        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    383646 
    384647        IEventType eventType2 = new KeyboardFocusChange(); 
    385         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    386          
    387         assertLexicallyEqual(task1, task2); 
     648        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     649         
     650        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    388651    } 
    389652 
     
    393656    @Test 
    394657    public void test_compare_KeyboardFocusChange_03() { 
    395         ITaskFactory taskFactory = new TaskFactory(); 
    396          
    397658        IEventType eventType1 = new KeyboardFocusChange(); 
    398659        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    399         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     660        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    400661 
    401662        IEventType eventType2 = new KeyboardFocusChange(); 
    402663        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    403         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    404          
    405         assertUnequal(task1, task2); 
     664        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     665         
     666        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    406667    } 
    407668 
     
    411672    @Test 
    412673    public void test_compare_KeyPressed_01() { 
    413         ITaskFactory taskFactory = new TaskFactory(); 
    414          
    415674        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A); 
    416675        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    417         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    418          
    419         assertLexicallyEqual(task1, task1); 
     676        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     677         
     678        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    420679    } 
    421680 
     
    425684    @Test 
    426685    public void test_compare_KeyPressed_02() { 
    427         ITaskFactory taskFactory = new TaskFactory(); 
    428          
    429686        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A); 
    430687        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    431         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     688        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    432689         
    433690        IEventType eventType2 = new KeyPressed(VirtualKey.LETTER_A); 
    434         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    435          
    436         assertLexicallyEqual(task1, task2); 
     691        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     692         
     693        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    437694    } 
    438695 
     
    442699    @Test 
    443700    public void test_compare_KeyPressed_03() { 
    444         ITaskFactory taskFactory = new TaskFactory(); 
    445          
    446701        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A); 
    447702        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    448         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     703        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    449704         
    450705        IEventType eventType2 = new KeyPressed(VirtualKey.LETTER_B); 
    451         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    452          
    453         assertSemanticallyEqual(task1, task2); 
     706        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     707         
     708        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    454709    } 
    455710 
     
    459714    @Test 
    460715    public void test_compare_KeyPressed_04() { 
    461         ITaskFactory taskFactory = new TaskFactory(); 
    462          
    463716        IEventType eventType1 = new KeyPressed(VirtualKey.LETTER_A); 
    464717        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    465         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     718        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    466719         
    467720        IEventType eventType2 = new KeyPressed(VirtualKey.LETTER_A); 
    468721        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    469         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    470          
    471         assertUnequal(task1, task2); 
     722        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     723         
     724        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    472725    } 
    473726     
     
    477730    @Test 
    478731    public void test_compare_KeyReleased_01() { 
    479         ITaskFactory taskFactory = new TaskFactory(); 
    480          
    481732        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A); 
    482733        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    483         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    484          
    485         assertLexicallyEqual(task1, task1); 
     734        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     735         
     736        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    486737    } 
    487738 
     
    491742    @Test 
    492743    public void test_compare_KeyReleased_02() { 
    493         ITaskFactory taskFactory = new TaskFactory(); 
    494          
    495744        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A); 
    496745        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    497         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     746        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    498747         
    499748        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_A); 
    500         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    501          
    502         assertLexicallyEqual(task1, task2); 
     749        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     750         
     751        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    503752    } 
    504753 
     
    508757    @Test 
    509758    public void test_compare_KeyReleased_03() { 
    510         ITaskFactory taskFactory = new TaskFactory(); 
    511          
    512759        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A); 
    513760        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    514         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     761        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    515762         
    516763        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_B); 
    517         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    518          
    519         assertSemanticallyEqual(task1, task2); 
     764        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     765         
     766        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    520767    } 
    521768 
     
    525772    @Test 
    526773    public void test_compare_KeyReleased_04() { 
    527         ITaskFactory taskFactory = new TaskFactory(); 
    528          
    529774        IEventType eventType1 = new KeyReleased(VirtualKey.LETTER_A); 
    530775        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    531         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     776        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    532777         
    533778        IEventType eventType2 = new KeyReleased(VirtualKey.LETTER_A); 
    534779        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    535         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    536          
    537         assertUnequal(task1, task2); 
     780        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     781         
     782        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    538783    } 
    539784     
     
    543788    @Test 
    544789    public void test_compare_KeyTyped_01() { 
    545         ITaskFactory taskFactory = new TaskFactory(); 
    546          
    547790        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A); 
    548791        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    549         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    550          
    551         assertLexicallyEqual(task1, task1); 
     792        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     793         
     794        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    552795    } 
    553796 
     
    557800    @Test 
    558801    public void test_compare_KeyTyped_02() { 
    559         ITaskFactory taskFactory = new TaskFactory(); 
    560          
    561802        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A); 
    562803        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    563         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     804        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    564805         
    565806        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_A); 
    566         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    567          
    568         assertLexicallyEqual(task1, task2); 
     807        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     808         
     809        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    569810    } 
    570811 
     
    574815    @Test 
    575816    public void test_compare_KeyTyped_03() { 
    576         ITaskFactory taskFactory = new TaskFactory(); 
    577          
    578817        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A); 
    579818        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    580         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     819        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    581820         
    582821        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_B); 
    583         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    584          
    585         assertSemanticallyEqual(task1, task2); 
     822        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     823         
     824        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    586825    } 
    587826 
     
    591830    @Test 
    592831    public void test_compare_KeyTyped_04() { 
    593         ITaskFactory taskFactory = new TaskFactory(); 
    594          
    595832        IEventType eventType1 = new KeyTyped(VirtualKey.LETTER_A); 
    596833        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    597         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     834        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    598835         
    599836        IEventType eventType2 = new KeyTyped(VirtualKey.LETTER_A); 
    600837        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    601         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    602          
    603         assertUnequal(task1, task2); 
     838        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     839         
     840        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    604841    } 
    605842     
     
    609846    @Test 
    610847    public void test_compare_MouseButtonDown_01() { 
    611         ITaskFactory taskFactory = new TaskFactory(); 
    612          
    613848        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    614849        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    615         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    616          
    617         assertLexicallyEqual(task1, task1); 
     850        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     851         
     852        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    618853    } 
    619854 
     
    623858    @Test 
    624859    public void test_compare_MouseButtonDown_02() { 
    625         ITaskFactory taskFactory = new TaskFactory(); 
    626          
    627860        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    628861        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    629         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     862        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    630863         
    631864        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    632         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    633          
    634         assertLexicallyEqual(task1, task2); 
     865        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     866         
     867        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    635868    } 
    636869 
     
    640873    @Test 
    641874    public void test_compare_MouseButtonDown_03() { 
    642         ITaskFactory taskFactory = new TaskFactory(); 
    643          
    644875        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    645876        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    646         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     877        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    647878         
    648879        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 3); 
    649         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    650          
    651         assertSemanticallyEqual(task1, task2); 
     880        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     881         
     882        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    652883    } 
    653884 
     
    657888    @Test 
    658889    public void test_compare_MouseButtonDown_04() { 
    659         ITaskFactory taskFactory = new TaskFactory(); 
    660          
    661890        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    662891        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    663         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     892        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    664893         
    665894        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 3, 2); 
    666         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    667          
    668         assertSemanticallyEqual(task1, task2); 
     895        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     896         
     897        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    669898    } 
    670899 
     
    674903    @Test 
    675904    public void test_compare_MouseButtonDown_05() { 
    676         ITaskFactory taskFactory = new TaskFactory(); 
    677          
    678905        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    679906        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    680         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     907        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    681908         
    682909        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.RIGHT, 1, 2); 
    683         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    684          
    685         assertUnequal(task1, task2); 
     910        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     911         
     912        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    686913    } 
    687914     
     
    691918    @Test 
    692919    public void test_compare_MouseButtonDown_06() { 
    693         ITaskFactory taskFactory = new TaskFactory(); 
    694          
    695920        IEventType eventType1 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    696921        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    697         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     922        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    698923         
    699924        IEventType eventType2 = new MouseButtonDown(MouseButtonInteraction.Button.LEFT, 1, 2); 
    700925        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    701         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    702          
    703         assertUnequal(task1, task2); 
     926        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     927         
     928        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    704929    } 
    705930     
     
    709934    @Test 
    710935    public void test_compare_MouseButtonUp_01() { 
    711         ITaskFactory taskFactory = new TaskFactory(); 
    712          
    713936        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    714937        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    715         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    716          
    717         assertLexicallyEqual(task1, task1); 
     938        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     939         
     940        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    718941    } 
    719942 
     
    723946    @Test 
    724947    public void test_compare_MouseButtonUp_02() { 
    725         ITaskFactory taskFactory = new TaskFactory(); 
    726          
    727948        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    728949        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    729         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     950        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    730951         
    731952        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    732         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    733          
    734         assertLexicallyEqual(task1, task2); 
     953        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     954         
     955        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    735956    } 
    736957 
     
    740961    @Test 
    741962    public void test_compare_MouseButtonUp_03() { 
    742         ITaskFactory taskFactory = new TaskFactory(); 
    743          
    744963        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    745964        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    746         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     965        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    747966         
    748967        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 3); 
    749         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    750          
    751         assertSemanticallyEqual(task1, task2); 
     968        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     969         
     970        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    752971    } 
    753972 
     
    757976    @Test 
    758977    public void test_compare_MouseButtonUp_04() { 
    759         ITaskFactory taskFactory = new TaskFactory(); 
    760          
    761978        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    762979        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    763         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     980        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    764981         
    765982        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 3, 2); 
    766         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    767          
    768         assertSemanticallyEqual(task1, task2); 
     983        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     984         
     985        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    769986    } 
    770987 
     
    774991    @Test 
    775992    public void test_compare_MouseButtonUp_05() { 
    776         ITaskFactory taskFactory = new TaskFactory(); 
    777          
    778993        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    779994        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    780         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     995        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    781996         
    782997        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.RIGHT, 1, 2); 
    783         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    784          
    785         assertUnequal(task1, task2); 
     998        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     999         
     1000        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    7861001    } 
    7871002     
     
    7911006    @Test 
    7921007    public void test_compare_MouseButtonUp_06() { 
    793         ITaskFactory taskFactory = new TaskFactory(); 
    794          
    7951008        IEventType eventType1 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    7961009        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    797         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1010        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    7981011         
    7991012        IEventType eventType2 = new MouseButtonUp(MouseButtonInteraction.Button.LEFT, 1, 2); 
    8001013        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    801         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    802          
    803         assertUnequal(task1, task2); 
     1014        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     1015         
     1016        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    8041017    } 
    8051018     
     
    8091022    @Test 
    8101023    public void test_compare_MouseClick_01() { 
    811         ITaskFactory taskFactory = new TaskFactory(); 
    812          
    8131024        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    8141025        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    815         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    816          
    817         assertLexicallyEqual(task1, task1); 
     1026        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1027         
     1028        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    8181029    } 
    8191030 
     
    8231034    @Test 
    8241035    public void test_compare_MouseClick_02() { 
    825         ITaskFactory taskFactory = new TaskFactory(); 
    826          
    8271036        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    8281037        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    829         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1038        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    8301039         
    8311040        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    832         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    833          
    834         assertLexicallyEqual(task1, task2); 
     1041        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1042         
     1043        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    8351044    } 
    8361045 
     
    8401049    @Test 
    8411050    public void test_compare_MouseClick_03() { 
    842         ITaskFactory taskFactory = new TaskFactory(); 
    843          
    8441051        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    8451052        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    846         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1053        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    8471054         
    8481055        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 3); 
    849         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    850          
    851         assertSemanticallyEqual(task1, task2); 
     1056        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1057         
     1058        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    8521059    } 
    8531060 
     
    8571064    @Test 
    8581065    public void test_compare_MouseClick_04() { 
    859         ITaskFactory taskFactory = new TaskFactory(); 
    860          
    8611066        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    8621067        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    863         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1068        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    8641069         
    8651070        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 3, 2); 
    866         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    867          
    868         assertSemanticallyEqual(task1, task2); 
     1071        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1072         
     1073        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    8691074    } 
    8701075 
     
    8741079    @Test 
    8751080    public void test_compare_MouseClick_05() { 
    876         ITaskFactory taskFactory = new TaskFactory(); 
    877          
    8781081        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    8791082        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    880         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1083        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    8811084         
    8821085        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.RIGHT, 1, 2); 
    883         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    884          
    885         assertUnequal(task1, task2); 
     1086        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1087         
     1088        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    8861089    } 
    8871090     
     
    8911094    @Test 
    8921095    public void test_compare_MouseClick_06() { 
    893         ITaskFactory taskFactory = new TaskFactory(); 
    894          
    8951096        IEventType eventType1 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    8961097        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    897         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1098        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    8981099         
    8991100        IEventType eventType2 = new MouseClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    9001101        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    901         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    902          
    903         assertUnequal(task1, task2); 
     1102        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     1103         
     1104        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    9041105    } 
    9051106     
     
    9091110    @Test 
    9101111    public void test_compare_MouseDoubleClick_01() { 
    911         ITaskFactory taskFactory = new TaskFactory(); 
    912          
    9131112        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    9141113        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    915         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    916          
    917         assertLexicallyEqual(task1, task1); 
     1114        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1115         
     1116        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    9181117    } 
    9191118 
     
    9231122    @Test 
    9241123    public void test_compare_MouseDoubleClick_02() { 
    925         ITaskFactory taskFactory = new TaskFactory(); 
    926          
    9271124        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    9281125        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    929         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1126        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    9301127         
    9311128        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    932         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    933          
    934         assertLexicallyEqual(task1, task2); 
     1129        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1130         
     1131        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    9351132    } 
    9361133 
     
    9401137    @Test 
    9411138    public void test_compare_MouseDoubleClick_03() { 
    942         ITaskFactory taskFactory = new TaskFactory(); 
    943          
    9441139        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    9451140        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    946         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1141        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    9471142         
    9481143        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 3); 
    949         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    950          
    951         assertSemanticallyEqual(task1, task2); 
     1144        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1145         
     1146        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    9521147    } 
    9531148 
     
    9571152    @Test 
    9581153    public void test_compare_MouseDoubleClick_04() { 
    959         ITaskFactory taskFactory = new TaskFactory(); 
    960          
    9611154        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    9621155        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    963         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1156        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    9641157         
    9651158        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 3, 2); 
    966         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    967          
    968         assertSemanticallyEqual(task1, task2); 
     1159        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1160         
     1161        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    9691162    } 
    9701163 
     
    9741167    @Test 
    9751168    public void test_compare_MouseDoubleClick_05() { 
    976         ITaskFactory taskFactory = new TaskFactory(); 
    977          
    9781169        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    9791170        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    980         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1171        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    9811172         
    9821173        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.RIGHT, 1, 2); 
    983         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    984          
    985         assertUnequal(task1, task2); 
     1174        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1175         
     1176        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    9861177    } 
    9871178     
     
    9911182    @Test 
    9921183    public void test_compare_MouseDoubleClick_06() { 
    993         ITaskFactory taskFactory = new TaskFactory(); 
    994          
    9951184        IEventType eventType1 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    9961185        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    997         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1186        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    9981187         
    9991188        IEventType eventType2 = new MouseDoubleClick(MouseButtonInteraction.Button.LEFT, 1, 2); 
    10001189        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    1001         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    1002          
    1003         assertUnequal(task1, task2); 
     1190        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     1191         
     1192        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    10041193    } 
    10051194     
     
    10091198    @Test 
    10101199    public void test_compare_MouseDragAndDrop_01() { 
    1011         ITaskFactory taskFactory = new TaskFactory(); 
    1012          
    10131200        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    10141201        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1015         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    1016          
    1017         assertLexicallyEqual(task1, task1); 
     1202        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1203         
     1204        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    10181205    } 
    10191206 
     
    10231210    @Test 
    10241211    public void test_compare_MouseDragAndDrop_02() { 
    1025         ITaskFactory taskFactory = new TaskFactory(); 
    1026          
    10271212        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    10281213        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1029         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1214        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    10301215         
    10311216        IEventType eventType2 = new MouseDragAndDrop(1, 2, 3, 4); 
    1032         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1033          
    1034         assertLexicallyEqual(task1, task2); 
     1217        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1218         
     1219        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    10351220    } 
    10361221 
     
    10401225    @Test 
    10411226    public void test_compare_MouseDragAndDrop_03() { 
    1042         ITaskFactory taskFactory = new TaskFactory(); 
    1043          
    10441227        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    10451228        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1046         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1229        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    10471230         
    10481231        IEventType eventType2 = new MouseDragAndDrop(5, 2, 3, 4); 
    1049         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1050          
    1051         assertSemanticallyEqual(task1, task2); 
     1232        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1233         
     1234        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    10521235    } 
    10531236 
     
    10571240    @Test 
    10581241    public void test_compare_MouseDragAndDrop_04() { 
    1059         ITaskFactory taskFactory = new TaskFactory(); 
    1060          
    10611242        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    10621243        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1063         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1244        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    10641245         
    10651246        IEventType eventType2 = new MouseDragAndDrop(1, 5, 3, 4); 
    1066         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1067          
    1068         assertSemanticallyEqual(task1, task2); 
     1247        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1248         
     1249        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    10691250    } 
    10701251 
     
    10741255    @Test 
    10751256    public void test_compare_MouseDragAndDrop_05() { 
    1076         ITaskFactory taskFactory = new TaskFactory(); 
    1077          
    10781257        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    10791258        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1080         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1259        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    10811260         
    10821261        IEventType eventType2 = new MouseDragAndDrop(1, 2, 5, 4); 
    1083         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1084          
    1085         assertSemanticallyEqual(task1, task2); 
     1262        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1263         
     1264        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    10861265    } 
    10871266 
     
    10911270    @Test 
    10921271    public void test_compare_MouseDragAndDrop_06() { 
    1093         ITaskFactory taskFactory = new TaskFactory(); 
    1094          
    10951272        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    10961273        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1097         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1274        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    10981275         
    10991276        IEventType eventType2 = new MouseDragAndDrop(1, 2, 3, 5); 
    1100         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1101          
    1102         assertSemanticallyEqual(task1, task2); 
     1277        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1278         
     1279        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    11031280    } 
    11041281 
     
    11081285    @Test 
    11091286    public void test_compare_MouseDragAndDrop_07() { 
    1110         ITaskFactory taskFactory = new TaskFactory(); 
    1111          
    11121287        IEventType eventType1 = new MouseDragAndDrop(1, 2, 3, 4); 
    11131288        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1114         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1289        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    11151290         
    11161291        IEventType eventType2 = new MouseDragAndDrop(1, 2, 3, 4); 
    11171292        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    1118         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    1119          
    1120         assertUnequal(task1, task2); 
     1293        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     1294         
     1295        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    11211296    } 
    11221297 
     
    11261301    @Test 
    11271302    public void test_compare_Scroll_01() { 
    1128         ITaskFactory taskFactory = new TaskFactory(); 
    1129          
    11301303        IEventType eventType1 = new Scroll(1, 2); 
    11311304        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1132         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    1133          
    1134         assertLexicallyEqual(task1, task1); 
     1305        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1306         
     1307        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    11351308    } 
    11361309 
     
    11401313    @Test 
    11411314    public void test_compare_Scroll_02() { 
    1142         ITaskFactory taskFactory = new TaskFactory(); 
    1143          
    11441315        IEventType eventType1 = new Scroll(1, 2); 
    11451316        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1146         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1317        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    11471318         
    11481319        IEventType eventType2 = new Scroll(1, 2); 
    1149         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1150          
    1151         assertLexicallyEqual(task1, task2); 
     1320        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1321         
     1322        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    11521323    } 
    11531324 
     
    11571328    @Test 
    11581329    public void test_compare_Scroll_03() { 
    1159         ITaskFactory taskFactory = new TaskFactory(); 
    1160          
    11611330        IEventType eventType1 = new Scroll(1, 2); 
    11621331        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1163         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1332        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    11641333         
    11651334        IEventType eventType2 = new Scroll(3, 2); 
    1166         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1167          
    1168         assertSemanticallyEqual(task1, task2); 
     1335        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1336         
     1337        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    11691338    } 
    11701339 
     
    11741343    @Test 
    11751344    public void test_compare_Scroll_04() { 
    1176         ITaskFactory taskFactory = new TaskFactory(); 
    1177          
    11781345        IEventType eventType1 = new Scroll(1, 2); 
    11791346        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1180         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1347        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    11811348         
    11821349        IEventType eventType2 = new Scroll(1, 3); 
    1183         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1184          
    1185         assertSemanticallyEqual(task1, task2); 
     1350        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1351         
     1352        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    11861353    } 
    11871354 
     
    11911358    @Test 
    11921359    public void test_compare_Scroll_05() { 
    1193         ITaskFactory taskFactory = new TaskFactory(); 
    1194          
    11951360        IEventType eventType1 = new Scroll(1, 2); 
    11961361        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1197         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1362        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    11981363         
    11991364        IEventType eventType2 = new Scroll(1, 2); 
    12001365        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    1201         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    1202          
    1203         assertUnequal(task1, task2); 
     1366        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     1367         
     1368        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    12041369    } 
    12051370     
     
    12091374    @Test 
    12101375    public void test_compare_TextInput_01() { 
    1211         ITaskFactory taskFactory = new TaskFactory(); 
    1212          
    12131376        IEventType eventType1 = new StringEventType("eventType1"); 
    12141377        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     
    12161379        textInputEvents1.add(new Event(eventType1, eventTarget1)); 
    12171380        eventType1 = new TextInput("enteredText1", textInputEvents1); 
    1218         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    1219          
    1220         assertLexicallyEqual(task1, task1); 
     1381        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1382         
     1383        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    12211384    } 
    12221385     
     
    12261389    @Test 
    12271390    public void test_compare_TextInput_02() { 
    1228         ITaskFactory taskFactory = new TaskFactory(); 
    1229          
    12301391        IEventType eventType1 = new StringEventType("eventType1"); 
    12311392        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     
    12331394        textInputEvents1.add(new Event(eventType1, eventTarget1)); 
    12341395        eventType1 = new TextInput("enteredText1", textInputEvents1); 
    1235         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1396        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    12361397         
    12371398        IEventType eventType2 = new TextInput("enteredText1", textInputEvents1); 
    1238         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1239  
    1240         assertLexicallyEqual(task1, task2); 
     1399        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1400 
     1401        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    12411402    } 
    12421403     
     
    12461407    @Test 
    12471408    public void test_compare_TextInput_03() { 
    1248         ITaskFactory taskFactory = new TaskFactory(); 
    1249          
    12501409        IEventType eventType1 = new StringEventType("eventType1"); 
    12511410        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     
    12531412        textInputEvents1.add(new Event(eventType1, eventTarget1)); 
    12541413        eventType1 = new TextInput("enteredText1", textInputEvents1); 
    1255         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1414        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    12561415         
    12571416        IEventType eventType2 = new StringEventType("eventType2"); 
     
    12591418        textInputEvents2.add(new Event(eventType2, eventTarget1)); 
    12601419        eventType2 = new TextInput("enteredText1", textInputEvents2); 
    1261         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1262  
    1263         assertSyntacticallyEqual(task1, task2); 
     1420        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1421 
     1422        assertSyntacticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    12641423    } 
    12651424     
     
    12691428    @Test 
    12701429    public void test_compare_TextInput_04() { 
    1271         ITaskFactory taskFactory = new TaskFactory(); 
    1272          
    12731430        IEventType eventType1 = new StringEventType("eventType1"); 
    12741431        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     
    12761433        textInputEvents1.add(new Event(eventType1, eventTarget1)); 
    12771434        eventType1 = new TextInput("enteredText1", textInputEvents1); 
    1278         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1435        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    12791436         
    12801437        IEventType eventType2 = new StringEventType("eventType2"); 
     
    12821439        textInputEvents2.add(new Event(eventType2, eventTarget1)); 
    12831440        eventType2 = new TextInput("enteredText2", textInputEvents2); 
    1284         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1285  
    1286         assertSemanticallyEqual(task1, task2); 
     1441        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1442 
     1443        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    12871444    } 
    12881445     
     
    12921449    @Test 
    12931450    public void test_compare_TextInput_05() { 
    1294         ITaskFactory taskFactory = new TaskFactory(); 
    1295          
    12961451        IEventType eventType1 = new StringEventType("eventType1"); 
    12971452        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
     
    12991454        textInputEvents1.add(new Event(eventType1, eventTarget1)); 
    13001455        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); 
     1456        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1457         
     1458        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
     1459        ITask task2 = createNewEventTask(eventType1, eventTarget2); 
     1460 
     1461        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    13071462    } 
    13081463 
     
    13121467    @Test 
    13131468    public void test_compare_TextSelection_01() { 
    1314         ITaskFactory taskFactory = new TaskFactory(); 
    1315          
    13161469        IEventType eventType1 = new TextSelection(); 
    13171470        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1318         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    1319          
    1320         assertLexicallyEqual(task1, task1); 
     1471        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1472         
     1473        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    13211474    } 
    13221475 
     
    13261479    @Test 
    13271480    public void test_compare_TextSelection_02() { 
    1328         ITaskFactory taskFactory = new TaskFactory(); 
    1329          
    13301481        IEventType eventType1 = new TextSelection(); 
    13311482        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1332         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1483        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    13331484 
    13341485        IEventType eventType2 = new TextSelection(); 
    1335         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1336          
    1337         assertLexicallyEqual(task1, task2); 
     1486        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1487         
     1488        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    13381489    } 
    13391490 
     
    13431494    @Test 
    13441495    public void test_compare_TextSelection_03() { 
    1345         ITaskFactory taskFactory = new TaskFactory(); 
    1346          
    13471496        IEventType eventType1 = new TextSelection(); 
    13481497        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1349         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1498        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    13501499 
    13511500        IEventType eventType2 = new TextSelection(); 
    13521501        IEventTarget eventTarget2 = new DummyGUIElement("elem2"); 
    1353         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget2); 
    1354          
    1355         assertUnequal(task1, task2); 
     1502        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     1503         
     1504        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    13561505    } 
    13571506 
     
    13611510    @Test 
    13621511    public void test_compare_ValueSelection_01() { 
    1363         ITaskFactory taskFactory = new TaskFactory(); 
    1364          
    13651512        IEventType eventType1 = new ValueSelection<String>("value1"); 
    13661513        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1367         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
    1368          
    1369         assertLexicallyEqual(task1, task1); 
     1514        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
     1515         
     1516        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task1); 
    13701517    } 
    13711518 
     
    13751522    @Test 
    13761523    public void test_compare_ValueSelection_02() { 
    1377         ITaskFactory taskFactory = new TaskFactory(); 
    1378          
    13791524        IEventType eventType1 = new ValueSelection<String>("value1"); 
    13801525        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1381         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1526        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    13821527         
    13831528        IEventType eventType2 = new ValueSelection<String>("value1"); 
    1384         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1385          
    1386         assertLexicallyEqual(task1, task2); 
     1529        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1530         
     1531        assertLexicallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    13871532    } 
    13881533 
     
    13921537    @Test 
    13931538    public void test_compare_ValueSelection_03() { 
    1394         ITaskFactory taskFactory = new TaskFactory(); 
    1395          
    13961539        IEventType eventType1 = new ValueSelection<String>("value1"); 
    13971540        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1398         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1541        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    13991542         
    14001543        IEventType eventType2 = new ValueSelection<String>("value2"); 
    1401         ITask task2 = taskFactory.createNewEventTask(eventType2, eventTarget1); 
    1402          
    1403         assertSemanticallyEqual(task1, task2); 
     1544        ITask task2 = createNewEventTask(eventType2, eventTarget1); 
     1545         
     1546        assertSemanticallyEqual(new GUIEventTaskComparisonRule(), task1, task2); 
    14041547    } 
    14051548 
     
    14091552    @Test 
    14101553    public void test_compare_ValueSelection_04() { 
    1411         ITaskFactory taskFactory = new TaskFactory(); 
    1412          
    14131554        IEventType eventType1 = new ValueSelection<String>("value1"); 
    14141555        IEventTarget eventTarget1 = new DummyGUIElement("elem1"); 
    1415         ITask task1 = taskFactory.createNewEventTask(eventType1, eventTarget1); 
     1556        ITask task1 = createNewEventTask(eventType1, eventTarget1); 
    14161557         
    14171558        IEventType eventType2 = new ValueSelection<String>("value1"); 
    14181559        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)); 
     1560        ITask task2 = createNewEventTask(eventType2, eventTarget2); 
     1561         
     1562        assertUnequal(new GUIEventTaskComparisonRule(), task1, task2); 
    14901563    } 
    14911564} 
Note: See TracChangeset for help on using the changeset viewer.