source: branches/autoquest-core-tasktrees-alignment-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/EventTaskComparisonRuleTest.java @ 1735

Last change on this file since 1735 was 1294, checked in by pharms, 11 years ago
  • rework of task model to move event instance stuff to task instances
  • introduction of sequence, selection, iteration and optional instances
File size: 21.7 KB
Line 
1//   Copyright 2012 Georg-August-Universität Göttingen, Germany
2//
3//   Licensed under the Apache License, Version 2.0 (the "License");
4//   you may not use this file except in compliance with the License.
5//   You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9//   Unless required by applicable law or agreed to in writing, software
10//   distributed under the License is distributed on an "AS IS" BASIS,
11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//   See the License for the specific language governing permissions and
13//   limitations under the License.
14
15package de.ugoe.cs.autoquest.tasktrees.taskequality;
16
17import static org.junit.Assert.*;
18
19import org.junit.Test;
20
21import de.ugoe.cs.autoquest.eventcore.IEventTarget;
22import de.ugoe.cs.autoquest.eventcore.IEventType;
23import de.ugoe.cs.autoquest.eventcore.StringEventType;
24import de.ugoe.cs.autoquest.tasktrees.taskequality.EventTaskComparisonRule;
25import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
26import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
27import de.ugoe.cs.autoquest.test.DummyGUIElement;
28
29/**
30 * @author Patrick Harms
31 */
32public class EventTaskComparisonRuleTest extends AbstractComparisonRuleTest {
33
34    /**
35     *
36     */
37    @Test
38    public void test_isApplicable_01() {
39        EventTaskComparisonRule rule = new EventTaskComparisonRule();
40
41        IEventType eventType1 = new StringEventType("eventType1");
42        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
43        ITask task1 = createNewEventTask(eventType1, eventTarget1);
44
45        assertTrue(rule.isApplicable(task1, task1));
46    }
47   
48    /**
49     *
50     */
51    @Test
52    public void test_isApplicable_02() {
53        EventTaskComparisonRule rule = new EventTaskComparisonRule();
54
55        IEventType eventType1 = new StringEventType("eventType1");
56        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
57        ITask task1 = createNewEventTask(eventType1, eventTarget1);
58
59        IEventType eventType2 = new StringEventType("eventType2");
60        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
61        ITask task2 = createNewEventTask(eventType2, eventTarget2);
62
63        assertTrue(rule.isApplicable(task1, task2));
64        assertTrue(rule.isApplicable(task2, task1));
65    }
66   
67    /**
68     *
69     */
70    @Test
71    public void test_isApplicable_03() {
72        EventTaskComparisonRule rule = new EventTaskComparisonRule();
73
74        IEventType eventType1 = new StringEventType("eventType1");
75        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
76        ITask task1 = createNewEventTask(eventType1, eventTarget1);
77       
78        ITask selection = createNewSelection();
79
80        assertFalse(rule.isApplicable(task1, selection));
81        assertFalse(rule.isApplicable(selection, task1));
82    }
83   
84    /**
85     *
86     */
87    @Test
88    public void test_isApplicable_04() {
89        EventTaskComparisonRule rule = new EventTaskComparisonRule();
90
91        IEventType eventType1 = new StringEventType("eventType1");
92        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
93        ITask task1 = createNewEventTask(eventType1, eventTarget1);
94
95        ITask sequence = createNewSequence();
96
97        assertFalse(rule.isApplicable(task1, sequence));
98        assertFalse(rule.isApplicable(sequence, task1));
99    }
100   
101    /**
102     *
103     */
104    @Test
105    public void test_isApplicable_05() {
106        EventTaskComparisonRule rule = new EventTaskComparisonRule();
107
108        IEventType eventType1 = new StringEventType("eventType1");
109        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
110        ITask task1 = createNewEventTask(eventType1, eventTarget1);
111
112        ITask iteration = createNewIteration();
113
114        assertFalse(rule.isApplicable(task1, iteration));
115        assertFalse(rule.isApplicable(iteration, task1));
116    }
117   
118    /**
119     *
120     */
121    @Test
122    public void test_isApplicable_06() {
123        EventTaskComparisonRule rule = new EventTaskComparisonRule();
124
125        IEventType eventType1 = new StringEventType("eventType1");
126        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
127        ITask task1 = createNewEventTask(eventType1, eventTarget1);
128
129        ITask optional = createNewOptional();
130
131        assertFalse(rule.isApplicable(task1, optional));
132        assertFalse(rule.isApplicable(optional, task1));
133    }
134   
135    /**
136     *
137     */
138    @Test
139    public void test_isApplicable_07() {
140        EventTaskComparisonRule rule = new EventTaskComparisonRule();
141
142        IEventType eventType1 = new StringEventType("eventType1");
143        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
144        ITask task1 = createNewEventTask(eventType1, eventTarget1);
145
146        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(),
147                                     task1.getInstances().iterator().next()));
148    }
149   
150    /**
151     *
152     */
153    @Test
154    public void test_isApplicable_08() {
155        EventTaskComparisonRule rule = new EventTaskComparisonRule();
156
157        IEventType eventType1 = new StringEventType("eventType1");
158        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
159        ITask task1 = createNewEventTask(eventType1, eventTarget1);
160
161        IEventType eventType2 = new StringEventType("eventType2");
162        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
163        ITask task2 = createNewEventTask(eventType2, eventTarget2);
164
165        assertTrue(rule.isApplicable(task1.getInstances().iterator().next(),
166                                     task2.getInstances().iterator().next()));
167        assertTrue(rule.isApplicable(task2.getInstances().iterator().next(),
168                                     task1.getInstances().iterator().next()));
169    }
170
171    /**
172     *
173     */
174    @Test
175    public void test_isApplicable_09() {
176        EventTaskComparisonRule rule = new EventTaskComparisonRule();
177
178        IEventType eventType1 = new StringEventType("eventType1");
179        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
180        ITask task1 = createNewEventTask(eventType1, eventTarget1);
181
182        ITask selection = createNewSelection();
183
184        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(),
185                                      selection.getInstances().iterator().next()));
186        assertFalse(rule.isApplicable(selection.getInstances().iterator().next(),
187                                      task1.getInstances().iterator().next()));
188    }
189
190    /**
191     *
192     */
193    @Test
194    public void test_isApplicable_10() {
195        EventTaskComparisonRule rule = new EventTaskComparisonRule();
196
197        IEventType eventType1 = new StringEventType("eventType1");
198        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
199        ITask task1 = createNewEventTask(eventType1, eventTarget1);
200
201        ITask sequence = createNewSequence();
202
203        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(),
204                                      sequence.getInstances().iterator().next()));
205        assertFalse(rule.isApplicable(sequence.getInstances().iterator().next(),
206                                      task1.getInstances().iterator().next()));
207    }
208
209    /**
210     *
211     */
212    @Test
213    public void test_isApplicable_11() {
214        EventTaskComparisonRule rule = new EventTaskComparisonRule();
215
216        IEventType eventType1 = new StringEventType("eventType1");
217        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
218        ITask task1 = createNewEventTask(eventType1, eventTarget1);
219
220        ITask iteration = createNewIteration();
221
222        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(),
223                                      iteration.getInstances().iterator().next()));
224        assertFalse(rule.isApplicable(iteration.getInstances().iterator().next(),
225                                      task1.getInstances().iterator().next()));
226    }
227
228    /**
229     *
230     */
231    @Test
232    public void test_isApplicable_12() {
233        EventTaskComparisonRule rule = new EventTaskComparisonRule();
234
235        IEventType eventType1 = new StringEventType("eventType1");
236        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
237        ITask task1 = createNewEventTask(eventType1, eventTarget1);
238
239        ITask optional = createNewOptional();
240
241        assertFalse(rule.isApplicable(task1.getInstances().iterator().next(),
242                                      optional.getInstances().iterator().next()));
243        assertFalse(rule.isApplicable(optional.getInstances().iterator().next(),
244                                      task1.getInstances().iterator().next()));
245    }
246
247    /**
248     *
249     */
250    @Test
251    public void test_compare_01() {
252        EventTaskComparisonRule rule = new EventTaskComparisonRule();
253       
254        IEventType eventType1 = new StringEventType("eventType1");
255        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
256        ITask task1 = createNewEventTask(eventType1, eventTarget1);
257       
258        assertEquals(TaskEquality.LEXICALLY_EQUAL, rule.compare(task1, task1));
259        assertTrue(rule.areLexicallyEqual(task1, task1));
260        assertTrue(rule.areSyntacticallyEqual(task1, task1));
261        assertTrue(rule.areSemanticallyEqual(task1, task1));
262    }
263   
264    /**
265     *
266     */
267    @Test
268    public void test_compare_02() {
269        EventTaskComparisonRule rule = new EventTaskComparisonRule();
270       
271        IEventType eventType1 = new StringEventType("eventType1");
272        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
273        ITask task1 = createNewEventTask(eventType1, eventTarget1);
274       
275        ITask task2 = createNewEventTask(eventType1, eventTarget1);
276       
277        assertEquals(TaskEquality.LEXICALLY_EQUAL, rule.compare(task1, task2));
278        assertTrue(rule.areLexicallyEqual(task1, task2));
279        assertTrue(rule.areSyntacticallyEqual(task1, task2));
280        assertTrue(rule.areSemanticallyEqual(task1, task2));
281
282        assertEquals(TaskEquality.LEXICALLY_EQUAL, rule.compare(task2, task1));
283        assertTrue(rule.areLexicallyEqual(task2, task1));
284        assertTrue(rule.areSyntacticallyEqual(task2, task1));
285        assertTrue(rule.areSemanticallyEqual(task2, task1));
286    }
287
288    /**
289     *
290     */
291    @Test
292    public void test_compare_03() {
293        EventTaskComparisonRule rule = new EventTaskComparisonRule();
294       
295        IEventType eventType1 = new StringEventType("eventType1");
296        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
297        ITask task1 = createNewEventTask(eventType1, eventTarget1);
298       
299        IEventType eventType2 = new StringEventType("eventType2");
300        ITask task2 = createNewEventTask(eventType2, eventTarget1);
301
302        assertEquals(TaskEquality.UNEQUAL, rule.compare(task1, task2));
303        assertFalse(rule.areLexicallyEqual(task1, task2));
304        assertFalse(rule.areSyntacticallyEqual(task1, task2));
305        assertFalse(rule.areSemanticallyEqual(task1, task2));
306
307        assertEquals(TaskEquality.UNEQUAL, rule.compare(task2, task1));
308        assertFalse(rule.areLexicallyEqual(task2, task1));
309        assertFalse(rule.areSyntacticallyEqual(task2, task1));
310        assertFalse(rule.areSemanticallyEqual(task2, task1));
311    }
312
313    /**
314     *
315     */
316    @Test
317    public void test_compare_04() {
318        EventTaskComparisonRule rule = new EventTaskComparisonRule();
319       
320        IEventType eventType1 = new StringEventType("eventType1");
321        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
322        ITask task1 = createNewEventTask(eventType1, eventTarget1);
323       
324        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
325        ITask task2 = createNewEventTask(eventType1, eventTarget2);
326       
327        assertEquals(TaskEquality.UNEQUAL, rule.compare(task1, task2));
328        assertFalse(rule.areLexicallyEqual(task1, task2));
329        assertFalse(rule.areSyntacticallyEqual(task1, task2));
330        assertFalse(rule.areSemanticallyEqual(task1, task2));
331
332        assertEquals(TaskEquality.UNEQUAL, rule.compare(task2, task1));
333        assertFalse(rule.areLexicallyEqual(task2, task1));
334        assertFalse(rule.areSyntacticallyEqual(task2, task1));
335        assertFalse(rule.areSemanticallyEqual(task2, task1));
336    }
337
338
339    /**
340     *
341     */
342    @Test
343    public void test_compare_05() {
344        EventTaskComparisonRule rule = new EventTaskComparisonRule();
345       
346        IEventType eventType1 = new StringEventType("eventType1");
347        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
348        ITask task1 = createNewEventTask(eventType1, eventTarget1);
349       
350        IEventType eventType2 = new StringEventType("eventType2");
351        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
352        ITask task2 = createNewEventTask(eventType2, eventTarget2);
353       
354        assertEquals(TaskEquality.UNEQUAL, rule.compare(task1, task2));
355        assertFalse(rule.areLexicallyEqual(task1, task2));
356        assertFalse(rule.areSyntacticallyEqual(task1, task2));
357        assertFalse(rule.areSemanticallyEqual(task1, task2));
358
359        assertEquals(TaskEquality.UNEQUAL, rule.compare(task2, task1));
360        assertFalse(rule.areLexicallyEqual(task2, task1));
361        assertFalse(rule.areSyntacticallyEqual(task2, task1));
362        assertFalse(rule.areSemanticallyEqual(task2, task1));
363    }
364
365
366    /**
367     *
368     */
369    @Test
370    public void test_compare_06() {
371        EventTaskComparisonRule rule = new EventTaskComparisonRule();
372       
373        IEventType eventType1 = new StringEventType("eventType1");
374        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
375        ITask task1 = createNewEventTask(eventType1, eventTarget1);
376       
377        assertEquals(TaskEquality.LEXICALLY_EQUAL,
378                     rule.compare(task1.getInstances().iterator().next(),
379                                  task1.getInstances().iterator().next()));
380        assertTrue(rule.areLexicallyEqual(task1.getInstances().iterator().next(),
381                                          task1.getInstances().iterator().next()));
382        assertTrue(rule.areSyntacticallyEqual(task1.getInstances().iterator().next(),
383                                              task1.getInstances().iterator().next()));
384        assertTrue(rule.areSemanticallyEqual(task1.getInstances().iterator().next(),
385                                             task1.getInstances().iterator().next()));
386    }
387   
388    /**
389     *
390     */
391    @Test
392    public void test_compare_07() {
393        EventTaskComparisonRule rule = new EventTaskComparisonRule();
394       
395        IEventType eventType1 = new StringEventType("eventType1");
396        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
397        ITask task1 = createNewEventTask(eventType1, eventTarget1);
398       
399        ITask task2 = createNewEventTask(eventType1, eventTarget1);
400       
401        assertEquals(TaskEquality.LEXICALLY_EQUAL,
402                     rule.compare(task1.getInstances().iterator().next(),
403                                  task2.getInstances().iterator().next()));
404        assertTrue(rule.areLexicallyEqual(task1.getInstances().iterator().next(),
405                                          task2.getInstances().iterator().next()));
406        assertTrue(rule.areSyntacticallyEqual(task1.getInstances().iterator().next(),
407                                              task2.getInstances().iterator().next()));
408        assertTrue(rule.areSemanticallyEqual(task1.getInstances().iterator().next(),
409                                             task2.getInstances().iterator().next()));
410
411        assertEquals(TaskEquality.LEXICALLY_EQUAL,
412                     rule.compare(task2.getInstances().iterator().next(),
413                                  task1.getInstances().iterator().next()));
414        assertTrue(rule.areLexicallyEqual(task2.getInstances().iterator().next(),
415                                          task1.getInstances().iterator().next()));
416        assertTrue(rule.areSyntacticallyEqual(task2.getInstances().iterator().next(),
417                                              task1.getInstances().iterator().next()));
418        assertTrue(rule.areSemanticallyEqual(task2.getInstances().iterator().next(),
419                                             task1.getInstances().iterator().next()));
420    }
421
422    /**
423     *
424     */
425    @Test
426    public void test_compare_08() {
427        EventTaskComparisonRule rule = new EventTaskComparisonRule();
428       
429        IEventType eventType1 = new StringEventType("eventType1");
430        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
431        ITask task1 = createNewEventTask(eventType1, eventTarget1);
432       
433        IEventType eventType2 = new StringEventType("eventType2");
434        ITask task2 = createNewEventTask(eventType2, eventTarget1);
435       
436        assertEquals(TaskEquality.UNEQUAL,
437                     rule.compare(task1.getInstances().iterator().next(),
438                                  task2.getInstances().iterator().next()));
439        assertFalse(rule.areLexicallyEqual(task1.getInstances().iterator().next(),
440                                           task2.getInstances().iterator().next()));
441        assertFalse(rule.areSyntacticallyEqual(task1.getInstances().iterator().next(),
442                                               task2.getInstances().iterator().next()));
443        assertFalse(rule.areSemanticallyEqual(task1.getInstances().iterator().next(),
444                                              task2.getInstances().iterator().next()));
445
446        assertEquals(TaskEquality.UNEQUAL,
447                     rule.compare(task2.getInstances().iterator().next(),
448                                  task1.getInstances().iterator().next()));
449        assertFalse(rule.areLexicallyEqual(task2.getInstances().iterator().next(),
450                                           task1.getInstances().iterator().next()));
451        assertFalse(rule.areSyntacticallyEqual(task2.getInstances().iterator().next(),
452                                               task1.getInstances().iterator().next()));
453        assertFalse(rule.areSemanticallyEqual(task2.getInstances().iterator().next(),
454                                              task1.getInstances().iterator().next()));
455    }
456
457    /**
458     *
459     */
460    @Test
461    public void test_compare_09() {
462        EventTaskComparisonRule rule = new EventTaskComparisonRule();
463       
464        IEventType eventType1 = new StringEventType("eventType1");
465        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
466        ITask task1 = createNewEventTask(eventType1, eventTarget1);
467       
468        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
469        ITask task2 = createNewEventTask(eventType1, eventTarget2);
470       
471        assertEquals(TaskEquality.UNEQUAL,
472                     rule.compare(task1.getInstances().iterator().next(),
473                                  task2.getInstances().iterator().next()));
474        assertFalse(rule.areLexicallyEqual(task1.getInstances().iterator().next(),
475                                           task2.getInstances().iterator().next()));
476        assertFalse(rule.areSyntacticallyEqual(task1.getInstances().iterator().next(),
477                                               task2.getInstances().iterator().next()));
478        assertFalse(rule.areSemanticallyEqual(task1.getInstances().iterator().next(),
479                                              task2.getInstances().iterator().next()));
480
481        assertEquals(TaskEquality.UNEQUAL,
482                     rule.compare(task2.getInstances().iterator().next(),
483                                  task1.getInstances().iterator().next()));
484        assertFalse(rule.areLexicallyEqual(task2.getInstances().iterator().next(),
485                                           task1.getInstances().iterator().next()));
486        assertFalse(rule.areSyntacticallyEqual(task2.getInstances().iterator().next(),
487                                               task1.getInstances().iterator().next()));
488        assertFalse(rule.areSemanticallyEqual(task2.getInstances().iterator().next(),
489                                              task1.getInstances().iterator().next()));
490    }
491
492
493    /**
494     *
495     */
496    @Test
497    public void test_compare_10() {
498        EventTaskComparisonRule rule = new EventTaskComparisonRule();
499       
500        IEventType eventType1 = new StringEventType("eventType1");
501        IEventTarget eventTarget1 = new DummyGUIElement("elem1");
502        ITask task1 = createNewEventTask(eventType1, eventTarget1);
503       
504        IEventType eventType2 = new StringEventType("eventType2");
505        IEventTarget eventTarget2 = new DummyGUIElement("elem2");
506        ITask task2 = createNewEventTask(eventType2, eventTarget2);
507       
508        assertEquals(TaskEquality.UNEQUAL,
509                     rule.compare(task1.getInstances().iterator().next(),
510                                  task2.getInstances().iterator().next()));
511        assertFalse(rule.areLexicallyEqual(task1.getInstances().iterator().next(),
512                                           task2.getInstances().iterator().next()));
513        assertFalse(rule.areSyntacticallyEqual(task1.getInstances().iterator().next(),
514                                               task2.getInstances().iterator().next()));
515        assertFalse(rule.areSemanticallyEqual(task1.getInstances().iterator().next(),
516                                              task2.getInstances().iterator().next()));
517
518        assertEquals(TaskEquality.UNEQUAL,
519                     rule.compare(task2.getInstances().iterator().next(),
520                                  task1.getInstances().iterator().next()));
521        assertFalse(rule.areLexicallyEqual(task2.getInstances().iterator().next(),
522                                           task1.getInstances().iterator().next()));
523        assertFalse(rule.areSyntacticallyEqual(task2.getInstances().iterator().next(),
524                                               task1.getInstances().iterator().next()));
525        assertFalse(rule.areSemanticallyEqual(task2.getInstances().iterator().next(),
526                                              task1.getInstances().iterator().next()));
527    }
528
529}
Note: See TracBrowser for help on using the repository browser.