source: trunk/autoquest-test-utils/src/test/java/de/ugoe/cs/autoquest/tasktrees/TaskTreeDecoderTest.java @ 1325

Last change on this file since 1325 was 1325, checked in by pharms, 10 years ago
File size: 31.4 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;
16
17import static org.junit.Assert.*;
18
19import org.junit.Test;
20
21import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTask;
22import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTaskInstance;
23import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration;
24import de.ugoe.cs.autoquest.tasktrees.treeifc.IIterationInstance;
25import de.ugoe.cs.autoquest.tasktrees.treeifc.IOptional;
26import de.ugoe.cs.autoquest.tasktrees.treeifc.IOptionalInstance;
27import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
28import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelectionInstance;
29import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence;
30import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequenceInstance;
31import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstanceList;
32import de.ugoe.cs.autoquest.tasktrees.treeifc.IUserSession;
33import de.ugoe.cs.autoquest.tasktrees.treeimpl.TaskBuilder;
34import de.ugoe.cs.autoquest.tasktrees.treeimpl.TaskFactory;
35
36/**
37 * @author Patrick Harms
38 */
39public class TaskTreeDecoderTest {
40
41    /**
42     *
43     */
44    @Test
45    public void test_UserSession_01() {
46        String blub =
47            "UserSession {" +
48            "}";
49
50        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
51       
52        ITaskInstanceList list = decoder.decode(blub);
53       
54        assertTrue(list instanceof IUserSession);
55        assertEquals(0, list.size());
56           
57        new TaskTreeValidator().validate(list);
58    }
59
60    /**
61     *
62     */
63    @Test
64    public void test_UserSession_02() {
65        String blub =
66            "UserSession {" +
67            "  MouseClick c1 { }" +
68            "}";
69
70        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
71       
72        ITaskInstanceList list = decoder.decode(blub);
73       
74        assertTrue(list instanceof IUserSession);
75        assertEquals(1, list.size());
76       
77        new TaskTreeValidator().validate(list);
78    }
79
80    /**
81     *
82     */
83    @Test
84    public void test_UserSession_03() {
85        String blub =
86            "UserSession {" +
87            "  MouseClick c1 { }" +
88            "  MouseClick c2 { }" +
89            "  MouseClick c3 { }" +
90            "  MouseClick c4 { }" +
91            "  MouseClick c5 { }" +
92            "  MouseClick c6 { }" +
93            "  MouseClick c7 { }" +
94            "}";
95
96        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
97       
98        ITaskInstanceList list = decoder.decode(blub);
99       
100        assertTrue(list instanceof IUserSession);
101        assertEquals(7, list.size());
102           
103        new TaskTreeValidator().validate(list);
104    }
105
106    /**
107     *
108     */
109    @Test
110    public void test_TaskInstances_01() {
111        String blub =
112            "TaskInstances {" +
113            "}";
114
115        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
116       
117        ITaskInstanceList list = decoder.decode(blub);
118       
119        assertFalse(list instanceof IUserSession);
120        assertEquals(0, list.size());
121           
122        new TaskTreeValidator().validate(list);
123    }
124
125    /**
126     *
127     */
128    @Test
129    public void test_TaskInstances_02() {
130        String blub =
131            "TaskInstances {" +
132            "  MouseClick c1 { }" +
133            "}";
134
135        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
136       
137        ITaskInstanceList list = decoder.decode(blub);
138       
139        assertFalse(list instanceof IUserSession);
140        assertEquals(1, list.size());
141       
142        new TaskTreeValidator().validate(list);
143    }
144
145    /**
146     *
147     */
148    @Test
149    public void test_TaskInstances_03() {
150        String blub =
151            "TaskInstances {" +
152            "  MouseClick c1 { }" +
153            "  MouseClick c2 { }" +
154            "  MouseClick c3 { }" +
155            "  MouseClick c4 { }" +
156            "  MouseClick c5 { }" +
157            "  MouseClick c6 { }" +
158            "  MouseClick c7 { }" +
159            "}";
160
161        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
162       
163        ITaskInstanceList list = decoder.decode(blub);
164       
165        assertFalse(list instanceof IUserSession);
166        assertEquals(7, list.size());
167           
168        new TaskTreeValidator().validate(list);
169    }
170
171    /**
172     *
173     */
174    @Test
175    public void test_MouseClick_01() {
176        String blub =
177            "UserSession {" +
178            "  MouseClick c1 { }" +
179            "}";
180
181        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
182       
183        ITaskInstanceList list = decoder.decode(blub);
184       
185        assertTrue(list.get(0) instanceof IEventTaskInstance);
186        assertTrue(list.get(0).getTask() instanceof IEventTask);
187       
188        new TaskTreeValidator().validate(list);
189    }
190
191    /**
192     *
193     */
194    @Test
195    public void test_MouseClick_02() {
196        String blub =
197            "UserSession {" +
198            "  MouseClick c1 { }" +
199            "  MouseClick c2 { }" +
200            "}";
201
202        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
203       
204        ITaskInstanceList list = decoder.decode(blub);
205       
206        assertTrue(list.get(0) instanceof IEventTaskInstance);
207        assertTrue(list.get(0).getTask() instanceof IEventTask);
208        assertTrue(list.get(1) instanceof IEventTaskInstance);
209        assertTrue(list.get(1).getTask() instanceof IEventTask);
210       
211        assertFalse(list.get(0).equals(list.get(1)));
212        assertFalse(list.get(0).getTask().equals(list.get(1).getTask()));
213       
214        new TaskTreeValidator().validate(list);
215    }
216
217    /**
218     *
219     */
220    @Test
221    public void test_MouseClick_03() {
222        String blub =
223            "UserSession {" +
224            "  MouseClick c1 { }" +
225            "  MouseClick c1 { }" +
226            "}";
227
228        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
229       
230        ITaskInstanceList list = decoder.decode(blub);
231       
232        assertTrue(list.get(0) instanceof IEventTaskInstance);
233        assertTrue(list.get(0).getTask() instanceof IEventTask);
234        assertTrue(list.get(1) instanceof IEventTaskInstance);
235        assertTrue(list.get(1).getTask() instanceof IEventTask);
236       
237        assertFalse(list.get(0).equals(list.get(1)));
238        assertTrue(list.get(0).getTask().equals(list.get(1).getTask()));
239       
240        new TaskTreeValidator().validate(list);
241    }
242
243    /**
244     *
245     */
246    @Test
247    public void test_Sequence_01() {
248        String blub =
249            "UserSession {" +
250            "  Sequence s1 { }" +
251            "}";
252
253        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
254       
255        ITaskInstanceList list = decoder.decode(blub);
256       
257        assertTrue(list.get(0) instanceof ISequenceInstance);
258        assertEquals(0, ((ISequenceInstance) list.get(0)).size());
259       
260        assertTrue(list.get(0).getTask() instanceof ISequence);
261        assertEquals(0, ((ISequence) list.get(0).getTask()).getChildren().size());
262
263        new TaskTreeValidator().validate(list);
264    }
265
266    /**
267     *
268     */
269    @Test
270    public void test_Sequence_02() {
271        String blub =
272            "UserSession {" +
273            "  Sequence seq1 {" +
274            "    MouseClick c1 { }" +
275            "  }" +
276            "}";
277
278        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
279           
280        ITaskInstanceList list = decoder.decode(blub);
281           
282        assertTrue(list.get(0) instanceof ISequenceInstance);
283        assertEquals(1, ((ISequenceInstance) list.get(0)).size());
284        assertTrue(((ISequenceInstance) list.get(0)).get(0) instanceof IEventTaskInstance);
285           
286        assertTrue(list.get(0).getTask() instanceof ISequence);
287        assertEquals(1, ((ISequence) list.get(0).getTask()).getChildren().size());
288        assertTrue(((ISequence) list.get(0).getTask()).getChildren().get(0) instanceof IEventTask);
289       
290        assertEquals(((ISequenceInstance) list.get(0)).get(0).getTask(),
291                     ((ISequence) list.get(0).getTask()).getChildren().get(0));
292
293        new TaskTreeValidator().validate(list);
294    }
295
296    /**
297     *
298     */
299    @Test
300    public void test_Sequence_03() {
301        String blub =
302            "UserSession {" +
303            "  Sequence seq1 {" +
304            "    MouseClick c1 { }" +
305            "    MouseClick c2 { }" +
306            "  }" +
307            "}";
308
309        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
310
311        ITaskInstanceList list = decoder.decode(blub);
312
313        assertTrue(list.get(0) instanceof ISequenceInstance);
314        assertEquals(2, ((ISequenceInstance) list.get(0)).size());
315        assertTrue(((ISequenceInstance) list.get(0)).get(0) instanceof IEventTaskInstance);
316        assertTrue(((ISequenceInstance) list.get(0)).get(1) instanceof IEventTaskInstance);
317
318        assertTrue(list.get(0).getTask() instanceof ISequence);
319        assertEquals(2, ((ISequence) list.get(0).getTask()).getChildren().size());
320        assertTrue(((ISequence) list.get(0).getTask()).getChildren().get(0) instanceof IEventTask);
321        assertTrue(((ISequence) list.get(0).getTask()).getChildren().get(1) instanceof IEventTask);
322
323        assertEquals(((ISequenceInstance) list.get(0)).get(0).getTask(),
324                     ((ISequence) list.get(0).getTask()).getChildren().get(0));
325        assertEquals(((ISequenceInstance) list.get(0)).get(1).getTask(),
326                     ((ISequence) list.get(0).getTask()).getChildren().get(1));
327
328        assertFalse(((ISequence) list.get(0).getTask()).getChildren().get(0).equals
329                         (((ISequence) list.get(0).getTask()).getChildren().get(1)));
330       
331        new TaskTreeValidator().validate(list);
332    }
333
334    /**
335     *
336     */
337    @Test
338    public void test_Sequence_04() {
339        String blub =
340            "UserSession {" +
341            "  Sequence seq1 {" +
342            "    MouseClick c1 { }" +
343            "    MouseClick c2 { }" +
344            "  }" +
345            "  Sequence seq1 {" +
346            "    MouseClick c1 { }" +
347            "    MouseClick c2 { }" +
348            "  }" +
349            "}";
350
351        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
352
353        ITaskInstanceList list = decoder.decode(blub);
354
355        // ensure, sequences are identical
356        assertTrue(list.get(0) instanceof ISequenceInstance);
357        assertTrue(list.get(1) instanceof ISequenceInstance);
358       
359        assertFalse(list.get(0).equals(list.get(1)));
360
361        assertTrue(list.get(0).getTask() instanceof ISequence);
362        assertTrue(list.get(1).getTask() instanceof ISequence);
363       
364        assertTrue(list.get(0).getTask().equals(list.get(1).getTask()));
365
366        // ensure that sequence itself is correct
367        assertEquals(2, ((ISequenceInstance) list.get(0)).size());
368        assertTrue(((ISequenceInstance) list.get(0)).get(0) instanceof IEventTaskInstance);
369        assertTrue(((ISequenceInstance) list.get(0)).get(1) instanceof IEventTaskInstance);
370
371        assertEquals(2, ((ISequenceInstance) list.get(1)).size());
372        assertTrue(((ISequenceInstance) list.get(1)).get(0) instanceof IEventTaskInstance);
373        assertTrue(((ISequenceInstance) list.get(1)).get(1) instanceof IEventTaskInstance);
374
375        assertEquals(2, ((ISequence) list.get(0).getTask()).getChildren().size());
376        assertTrue(((ISequence) list.get(0).getTask()).getChildren().get(0) instanceof IEventTask);
377        assertTrue(((ISequence) list.get(0).getTask()).getChildren().get(1) instanceof IEventTask);
378
379        assertEquals(((ISequenceInstance) list.get(0)).get(0).getTask(),
380                     ((ISequence) list.get(0).getTask()).getChildren().get(0));
381        assertEquals(((ISequenceInstance) list.get(0)).get(1).getTask(),
382                     ((ISequence) list.get(0).getTask()).getChildren().get(1));
383
384        assertEquals(((ISequenceInstance) list.get(1)).get(0).getTask(),
385                     ((ISequence) list.get(0).getTask()).getChildren().get(0));
386        assertEquals(((ISequenceInstance) list.get(1)).get(1).getTask(),
387                     ((ISequence) list.get(0).getTask()).getChildren().get(1));
388
389        assertFalse(((ISequence) list.get(0).getTask()).getChildren().get(0).equals
390                         (((ISequence) list.get(0).getTask()).getChildren().get(1)));
391       
392       
393        new TaskTreeValidator().validate(list);
394    }
395
396    /**
397     *
398     */
399    @Test(expected=java.lang.IllegalArgumentException.class)
400    public void test_Sequence_05() {
401        String blub =
402            "UserSession {" +
403            "  Sequence seq1 {" +
404            "    MouseClick c1 { }" +
405            "  }" +
406            "  Sequence seq1 {" +
407            "    MouseClick c2 { }" +
408            "  }" +
409            "}";
410
411        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
412
413        decoder.decode(blub);
414    }
415
416    /**
417     *
418     */
419    @Test(expected=java.lang.IllegalArgumentException.class)
420    public void test_Selection_01() {
421        String blub =
422            "UserSession {" +
423            "  Selection sel1 { }" +
424            "}";
425
426        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
427       
428        decoder.decode(blub);
429    }
430
431    /**
432     *
433     */
434    @Test
435    public void test_Selection_02() {
436        String blub =
437            "UserSession {" +
438            "  Selection sel1 {" +
439            "    MouseClick c1 { }" +
440            "  }" +
441            "}";
442
443        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
444           
445        ITaskInstanceList list = decoder.decode(blub);
446           
447        assertTrue(list.get(0) instanceof ISelectionInstance);
448        assertNotNull(((ISelectionInstance) list.get(0)).getChild());
449        assertTrue(((ISelectionInstance) list.get(0)).getChild() instanceof IEventTaskInstance);
450           
451        assertTrue(list.get(0).getTask() instanceof ISelection);
452        assertEquals(1, ((ISelection) list.get(0).getTask()).getChildren().size());
453        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(0) instanceof IEventTask);
454       
455        assertEquals(((ISelectionInstance) list.get(0)).getChild().getTask(),
456                     ((ISelection) list.get(0).getTask()).getChildren().get(0));
457
458        new TaskTreeValidator().validate(list);
459    }
460
461    /**
462     *
463     */
464    @Test
465    public void test_Selection_03() {
466        String blub =
467            "UserSession {" +
468            "  Selection sel1 {" +
469            "    MouseClick c1 { }" +
470            "  }" +
471            "  Selection sel1 {" +
472            "    MouseClick c1 { }" +
473            "  }" +
474            "}";
475
476        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
477
478        ITaskInstanceList list = decoder.decode(blub);
479
480        assertTrue(list.get(0) instanceof ISelectionInstance);
481        assertNotNull(((ISelectionInstance) list.get(0)).getChild());
482        assertTrue(((ISelectionInstance) list.get(0)).getChild() instanceof IEventTaskInstance);
483
484        assertTrue(list.get(0).getTask() instanceof ISelection);
485        assertEquals(1, ((ISelection) list.get(0).getTask()).getChildren().size());
486        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(0) instanceof IEventTask);
487
488        assertTrue(list.get(1) instanceof ISelectionInstance);
489        assertNotNull(((ISelectionInstance) list.get(1)).getChild());
490        assertTrue(((ISelectionInstance) list.get(1)).getChild() instanceof IEventTaskInstance);
491
492        assertTrue(list.get(1).getTask() instanceof ISelection);
493        assertEquals(1, ((ISelection) list.get(1).getTask()).getChildren().size());
494        assertTrue(((ISelection) list.get(1).getTask()).getChildren().get(0) instanceof IEventTask);
495
496        assertFalse(list.get(0).equals(list.get(1)));
497        assertTrue(list.get(0).getTask().equals(list.get(1).getTask()));
498       
499        assertFalse(((ISelectionInstance) list.get(0)).getChild().equals
500                        (((ISelectionInstance) list.get(1)).getChild()));
501        assertTrue(((ISelectionInstance) list.get(0)).getChild().getTask().equals
502                       (((ISelectionInstance) list.get(1)).getChild().getTask()));
503       
504        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(0).equals
505                       (((ISelectionInstance) list.get(0)).getChild().getTask()));
506        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(0).equals
507                       (((ISelectionInstance) list.get(1)).getChild().getTask()));
508
509        new TaskTreeValidator().validate(list);
510    }
511
512    /**
513     *
514     */
515    @Test
516    public void test_Selection_04() {
517        String blub =
518            "UserSession {" +
519            "  Selection sel1 {" +
520            "    MouseClick c1 { }" +
521            "  }" +
522            "  Selection sel1 {" +
523            "    MouseClick c2 { }" +
524            "  }" +
525            "}";
526
527        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
528
529        ITaskInstanceList list = decoder.decode(blub);
530
531        assertTrue(list.get(0) instanceof ISelectionInstance);
532        assertNotNull(((ISelectionInstance) list.get(0)).getChild());
533        assertTrue(((ISelectionInstance) list.get(0)).getChild() instanceof IEventTaskInstance);
534
535        assertTrue(list.get(0).getTask() instanceof ISelection);
536        assertEquals(2, ((ISelection) list.get(0).getTask()).getChildren().size());
537        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(0) instanceof IEventTask);
538        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(1) instanceof IEventTask);
539
540        assertTrue(list.get(1) instanceof ISelectionInstance);
541        assertNotNull(((ISelectionInstance) list.get(1)).getChild());
542        assertTrue(((ISelectionInstance) list.get(1)).getChild() instanceof IEventTaskInstance);
543
544        assertTrue(list.get(1).getTask() instanceof ISelection);
545        assertEquals(2, ((ISelection) list.get(1).getTask()).getChildren().size());
546        assertTrue(((ISelection) list.get(1).getTask()).getChildren().get(0) instanceof IEventTask);
547        assertTrue(((ISelection) list.get(1).getTask()).getChildren().get(1) instanceof IEventTask);
548
549        assertFalse(list.get(0).equals(list.get(1)));
550        assertTrue(list.get(0).getTask().equals(list.get(1).getTask()));
551
552        assertFalse(((ISelectionInstance) list.get(0)).getChild().equals
553                        (((ISelectionInstance) list.get(1)).getChild()));
554        assertFalse(((ISelectionInstance) list.get(0)).getChild().getTask().equals
555                        (((ISelectionInstance) list.get(1)).getChild().getTask()));
556
557        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(0).equals
558                       (((ISelectionInstance) list.get(0)).getChild().getTask()));
559        assertTrue(((ISelection) list.get(0).getTask()).getChildren().get(1).equals
560                       (((ISelectionInstance) list.get(1)).getChild().getTask()));
561
562        new TaskTreeValidator().validate(list);
563    }
564
565    /**
566     *
567     */
568    @Test(expected=java.lang.IllegalArgumentException.class)
569    public void test_Selection_05() {
570        String blub =
571            "UserSession {" +
572            "  Selection sel1 {" +
573            "    MouseClick c1 { }" +
574            "    MouseClick c2 { }" +
575            "  }" +
576            "}";
577
578        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
579
580        decoder.decode(blub);
581    }
582
583    /**
584     *
585     */
586    @Test(expected=java.lang.IllegalArgumentException.class)
587    public void test_Iteration_01() {
588        String blub =
589            "UserSession {" +
590            "  Iteration it1 { }" +
591            "}";
592
593        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
594       
595        decoder.decode(blub);
596    }
597
598    /**
599     *
600     */
601    @Test
602    public void test_Iteration_02() {
603        String blub =
604            "UserSession {" +
605            "  Iteration it1 {" +
606            "    MouseClick c1 { }" +
607            "  }" +
608            "}";
609
610        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
611           
612        ITaskInstanceList list = decoder.decode(blub);
613           
614        assertTrue(list.get(0) instanceof IIterationInstance);
615        assertEquals(1, ((IIterationInstance) list.get(0)).size());
616        assertTrue(((IIterationInstance) list.get(0)).get(0) instanceof IEventTaskInstance);
617           
618        assertTrue(list.get(0).getTask() instanceof IIteration);
619        assertNotNull(((IIteration) list.get(0).getTask()).getMarkedTask());
620        assertTrue(((IIteration) list.get(0).getTask()).getMarkedTask() instanceof IEventTask);
621       
622        assertEquals(((IIterationInstance) list.get(0)).get(0).getTask(),
623                     ((IIteration) list.get(0).getTask()).getMarkedTask());
624
625        new TaskTreeValidator().validate(list);
626    }
627
628    /**
629     *
630     */
631    @Test
632    public void test_Iteration_03() {
633        String blub =
634            "UserSession {" +
635            "  Iteration it1 {" +
636            "    MouseClick c1 { }" +
637            "    MouseClick c1 { }" +
638            "    MouseClick c1 { }" +
639            "  }" +
640            "}";
641
642        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
643           
644        ITaskInstanceList list = decoder.decode(blub);
645           
646        assertTrue(list.get(0) instanceof IIterationInstance);
647        assertEquals(3, ((IIterationInstance) list.get(0)).size());
648        assertTrue(((IIterationInstance) list.get(0)).get(0) instanceof IEventTaskInstance);
649        assertTrue(((IIterationInstance) list.get(0)).get(1) instanceof IEventTaskInstance);
650        assertTrue(((IIterationInstance) list.get(0)).get(2) instanceof IEventTaskInstance);
651           
652        assertTrue(list.get(0).getTask() instanceof IIteration);
653        assertNotNull(((IIteration) list.get(0).getTask()).getMarkedTask());
654        assertTrue(((IIteration) list.get(0).getTask()).getMarkedTask() instanceof IEventTask);
655       
656        assertEquals(((IIterationInstance) list.get(0)).get(0).getTask(),
657                     ((IIteration) list.get(0).getTask()).getMarkedTask());
658        assertEquals(((IIterationInstance) list.get(0)).get(1).getTask(),
659                     ((IIteration) list.get(0).getTask()).getMarkedTask());
660        assertEquals(((IIterationInstance) list.get(0)).get(2).getTask(),
661                     ((IIteration) list.get(0).getTask()).getMarkedTask());
662
663        new TaskTreeValidator().validate(list);
664    }
665
666    /**
667     *
668     */
669    @Test
670    public void test_Iteration_04() {
671        String blub =
672            "UserSession {" +
673            "  Iteration it1 {" +
674            "    MouseClick c1 { }" +
675            "    MouseClick c1 { }" +
676            "    MouseClick c1 { }" +
677            "  }" +
678            "  Iteration it1 {" +
679            "    MouseClick c1 { }" +
680            "  }" +
681            "}";
682
683        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
684
685        ITaskInstanceList list = decoder.decode(blub);
686
687        assertTrue(list.get(0) instanceof IIterationInstance);
688        assertEquals(3, ((IIterationInstance) list.get(0)).size());
689        assertTrue(((IIterationInstance) list.get(0)).get(0) instanceof IEventTaskInstance);
690        assertTrue(((IIterationInstance) list.get(0)).get(1) instanceof IEventTaskInstance);
691        assertTrue(((IIterationInstance) list.get(0)).get(2) instanceof IEventTaskInstance);
692
693        assertTrue(list.get(0).getTask() instanceof IIteration);
694        assertNotNull(((IIteration) list.get(0).getTask()).getMarkedTask());
695        assertTrue(((IIteration) list.get(0).getTask()).getMarkedTask() instanceof IEventTask);
696
697        assertTrue(list.get(1) instanceof IIterationInstance);
698        assertEquals(1, ((IIterationInstance) list.get(1)).size());
699        assertTrue(((IIterationInstance) list.get(1)).get(0) instanceof IEventTaskInstance);
700
701        assertTrue(list.get(1).getTask() instanceof IIteration);
702        assertNotNull(((IIteration) list.get(1).getTask()).getMarkedTask());
703        assertTrue(((IIteration) list.get(1).getTask()).getMarkedTask() instanceof IEventTask);
704
705        assertFalse(list.get(0).equals(list.get(1)));
706        assertTrue(list.get(0).getTask().equals(list.get(1).getTask()));
707       
708        assertFalse(((IIterationInstance) list.get(0)).get(0).equals
709                        (((IIterationInstance) list.get(1)).get(0)));
710        assertTrue(((IIterationInstance) list.get(0)).get(0).getTask().equals
711                   (((IIterationInstance) list.get(1)).get(0).getTask()));
712   
713        assertFalse(((IIterationInstance) list.get(0)).get(1).equals
714                        (((IIterationInstance) list.get(1)).get(0)));
715        assertTrue(((IIterationInstance) list.get(0)).get(1).getTask().equals
716                   (((IIterationInstance) list.get(1)).get(0).getTask()));
717   
718        assertFalse(((IIterationInstance) list.get(0)).get(2).equals
719                        (((IIterationInstance) list.get(1)).get(0)));
720        assertTrue(((IIterationInstance) list.get(0)).get(2).getTask().equals
721                       (((IIterationInstance) list.get(1)).get(0).getTask()));
722       
723        new TaskTreeValidator().validate(list);
724    }
725
726
727    /**
728     *
729     */
730    @Test(expected=java.lang.IllegalArgumentException.class)
731    public void test_Iteration_05() {
732        String blub =
733            "UserSession {" +
734            "  Iteration it1 {" +
735            "    MouseClick c1 { }" +
736            "  }" +
737            "  Iteration it1 {" +
738            "    MouseClick c2 { }" +
739            "  }" +
740            "}";
741
742        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
743
744        decoder.decode(blub);
745    }
746
747    /**
748     *
749     */
750    @Test(expected=java.lang.IllegalArgumentException.class)
751    public void test_Iteration_06() {
752        String blub =
753            "UserSession {" +
754            "  Iteration it1 {" +
755            "    MouseClick c1 { }" +
756            "    MouseClick c2 { }" +
757            "  }" +
758            "}";
759
760        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
761
762        decoder.decode(blub);
763    }
764
765    /**
766     *
767     */
768    @Test(expected=java.lang.IllegalArgumentException.class)
769    public void test_Optional_01() {
770        String blub =
771            "UserSession {" +
772            "  Optional op1 { }" +
773            "}";
774
775        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
776       
777        decoder.decode(blub);
778    }
779
780    /**
781     *
782     */
783    @Test
784    public void test_Optional_02() {
785        String blub =
786            "UserSession {" +
787            "  Optional op1 {" +
788            "    MouseClick c1 { }" +
789            "  }" +
790            "}";
791
792        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
793           
794        ITaskInstanceList list = decoder.decode(blub);
795           
796        assertTrue(list.get(0) instanceof IOptionalInstance);
797        assertNotNull(((IOptionalInstance) list.get(0)).getChild());
798        assertTrue(((IOptionalInstance) list.get(0)).getChild() instanceof IEventTaskInstance);
799           
800        assertTrue(list.get(0).getTask() instanceof IOptional);
801        assertNotNull(((IOptional) list.get(0).getTask()).getMarkedTask());
802        assertTrue(((IOptional) list.get(0).getTask()).getMarkedTask() instanceof IEventTask);
803       
804        assertEquals(((IOptionalInstance) list.get(0)).getChild().getTask(),
805                     ((IOptional) list.get(0).getTask()).getMarkedTask());
806
807        new TaskTreeValidator().validate(list);
808    }
809
810    /**
811     *
812     */
813    @Test
814    public void test_Optional_03() {
815        String blub =
816            "UserSession {" +
817            "  Optional op1 {" +
818            "    MouseClick c1 { }" +
819            "  }" +
820            "  Optional op1 {" +
821            "    MouseClick c1 { }" +
822            "  }" +
823            "}";
824
825        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
826
827        ITaskInstanceList list = decoder.decode(blub);
828
829        assertTrue(list.get(0) instanceof IOptionalInstance);
830        assertNotNull(((IOptionalInstance) list.get(0)).getChild());
831        assertTrue(((IOptionalInstance) list.get(0)).getChild() instanceof IEventTaskInstance);
832
833        assertTrue(list.get(0).getTask() instanceof IOptional);
834        assertNotNull(((IOptional) list.get(0).getTask()).getMarkedTask());
835        assertTrue(((IOptional) list.get(0).getTask()).getMarkedTask() instanceof IEventTask);
836
837        assertTrue(list.get(1) instanceof IOptionalInstance);
838        assertNotNull(((IOptionalInstance) list.get(1)).getChild());
839        assertTrue(((IOptionalInstance) list.get(1)).getChild() instanceof IEventTaskInstance);
840
841        assertTrue(list.get(1).getTask() instanceof IOptional);
842        assertNotNull(((IOptional) list.get(1).getTask()).getMarkedTask());
843        assertTrue(((IOptional) list.get(1).getTask()).getMarkedTask() instanceof IEventTask);
844
845        assertFalse(list.get(0).equals(list.get(1)));
846        assertTrue(list.get(0).getTask().equals(list.get(1).getTask()));
847       
848        assertFalse(((IOptionalInstance) list.get(0)).getChild().equals
849                        (((IOptionalInstance) list.get(1)).getChild()));
850        assertTrue(((IOptionalInstance) list.get(0)).getChild().getTask().equals
851                   (((IOptionalInstance) list.get(1)).getChild().getTask()));
852       
853        new TaskTreeValidator().validate(list);
854    }
855
856    /**
857     *
858     */
859    @Test(expected=java.lang.IllegalArgumentException.class)
860    public void test_Optional_04() {
861        String blub =
862            "UserSession {" +
863            "  Optional op1 {" +
864            "    MouseClick c1 { }" +
865            "    MouseClick c1 { }" +
866            "  }" +
867            "}";
868
869        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
870
871        decoder.decode(blub);
872    }
873
874    /**
875     *
876     */
877    @Test(expected=java.lang.IllegalArgumentException.class)
878    public void test_Optional_05() {
879        String blub =
880            "UserSession {" +
881            "  Optional op1 {" +
882            "    MouseClick c1 { }" +
883            "  }" +
884            "  Optional op1 {" +
885            "    MouseClick c2 { }" +
886            "  }" +
887            "}";
888
889        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
890
891        decoder.decode(blub);
892    }
893
894    /**
895     *
896     */
897    @Test(expected=java.lang.IllegalArgumentException.class)
898    public void test_Optional_06() {
899        String blub =
900            "UserSession {" +
901            "  Optional op1 {" +
902            "    MouseClick c1 { }" +
903            "    MouseClick c2 { }" +
904            "  }" +
905            "}";
906
907        TaskTreeDecoder decoder = new TaskTreeDecoder(new TaskFactory(), new TaskBuilder());
908
909        decoder.decode(blub);
910    }
911}
Note: See TracBrowser for help on using the repository browser.