source: trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/DefaultIterationDetectionRuleTest.java @ 927

Last change on this file since 927 was 927, checked in by sherbold, 12 years ago
  • added copyright under the Apache License, Version 2.0
File size: 10.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.temporalrelation;
16
17import org.junit.Test;
18
19import de.ugoe.cs.autoquest.eventcore.IEventTarget;
20import de.ugoe.cs.autoquest.eventcore.IEventType;
21import de.ugoe.cs.autoquest.tasktrees.TaskTreeChecker;
22import de.ugoe.cs.autoquest.test.DummyGUIElement;
23import de.ugoe.cs.autoquest.test.DummyInteraction;
24
25/**
26 * TODO comment
27 *
28 * @version $Revision: $ $Date: 28.04.2012$
29 * @author 2012, last modified by $Author: patrick$
30 */
31public class DefaultIterationDetectionRuleTest extends AbstractTemporalRelationshipTC {
32
33    /**
34     *
35     */
36    @Test
37    public void testInteractionIterationDetection() throws Exception {
38        IEventTarget element1 = new DummyGUIElement("elem1");
39        IEventType event1 = new DummyInteraction("bla", 1);
40        simulateEvent(event1, element1);
41        new TaskTreeChecker().assertTaskTree
42            ("Sequence sequence1 {" +
43             "  Event bla {}" +
44             "}", getTaskTree());
45
46        simulateEvent(event1, element1);
47        new TaskTreeChecker().assertTaskTree
48            ("Sequence sequence1 {" +
49             "  Iteration iteration1 {" +
50             "    Event bla {}" +
51             "  }" +
52             "}", getTaskTree());
53
54        simulateEvent(event1, element1);
55        new TaskTreeChecker().assertTaskTree
56            ("Sequence sequence1 {" +
57             "  Iteration iteration1 {" +
58             "    Event bla {}" +
59             "  }" +
60             "}", getTaskTree());
61
62        for (int i = 0; i < 10; i++) {
63            simulateEvent(event1, element1);
64        }
65
66        new TaskTreeChecker().assertTaskTree
67            ("Sequence sequence1 {" +
68             "  Iteration iteration1 {" +
69             "    Event bla {}" +
70             "  }" +
71             "}", getTaskTree());
72
73        // now test with preceding and trailing other events
74        IEventType event2 = new DummyInteraction("bli", 1);
75        IEventType event3 = new DummyInteraction("blup", 1);
76
77        simulateEvent(event2, element1);
78        simulateEvent(event3, element1);
79        for (int i = 0; i < 10; i++) {
80            simulateEvent(event1, element1);
81        }
82        simulateEvent(event3, element1);
83        simulateEvent(event2, element1);
84
85        new TaskTreeChecker().assertTaskTree
86            ("Sequence sequence1 {" +
87             "  Iteration iteration1 {" +
88             "    Event bla {}" +
89             "  }" +
90             "  Event bli {}" +
91             "  Event blup {}" +
92             "  Iteration iteration2 {" +
93             "    Event bla {}" +
94             "  }" +
95             "  Event blup {}" +
96             "  Event bli {}" +
97             "}", getTaskTree());
98
99        // now test with iterations of iterations
100
101        for (int i = 0; i < 10; i++) {
102            for (int j = 0; j < 5; j++) {
103                simulateEvent(event1, element1);
104            }
105            for (int j = 0; j < 5; j++) {
106                simulateEvent(event2, element1);
107            }
108            for (int j = 0; j < 5; j++) {
109                simulateEvent(event3, element1);
110            }
111        }
112
113        new TaskTreeChecker().assertTaskTree
114            ("Sequence sequence1 {" +
115             "  Iteration iteration1 {" +
116             "    Event bla {}" +
117             "  }" +
118             "  Event bli {}" +
119             "  Event blup {}" +
120             "  Iteration iteration2 {" +
121             "    Event bla {}" +
122             "  }" +
123             "  Event blup {}" +
124             "  Event bli {}" +
125             "  Iteration iteration3 {" +
126             "    Sequence sequence2 {" +
127             "      Iteration iteration4 {" +
128             "        Event bla {}" +
129             "      }" +
130             "      Iteration iteration5 {" +
131             "        Event bli {}" +
132             "      }" +
133             "      Iteration iteration6 {" +
134             "        Event blup {}" +
135             "      }" +
136             "    }" +
137             "  }" +
138             "}", getTaskTree());
139
140    }
141
142    /**
143     *
144     */
145    @Test
146    public void testSequenceIterationDetection() throws Exception {
147        IEventTarget element1 = new DummyGUIElement("elem1");
148        IEventType event1 = new DummyInteraction("bla", 1);
149        IEventType event2 = new DummyInteraction("bli", 1);
150        IEventType event3 = new DummyInteraction("blup", 1);
151        simulateEvent(event1, element1);
152        simulateEvent(event2, element1);
153        simulateEvent(event3, element1);
154        new TaskTreeChecker().assertTaskTree
155            ("Sequence sequence1 {" +
156             "  Event bla {}" +
157             "  Event bli {}" +
158             "  Event blup {}" +
159             "}", getTaskTree());
160
161        simulateEvent(event1, element1);
162        simulateEvent(event2, element1);
163        simulateEvent(event3, element1);
164        new TaskTreeChecker().assertTaskTree
165            ("Sequence sequence1 {" +
166             "  Iteration iteration1 {" +
167             "    Sequence sequence2 {" +
168             "      Event bla {}" +
169             "      Event bli {}" +
170             "      Event blup {}" +
171             "    }" +
172             "  }" +
173             "}", getTaskTree());
174
175        simulateEvent(event1, element1);
176        simulateEvent(event2, element1);
177        simulateEvent(event3, element1);
178        new TaskTreeChecker().assertTaskTree
179            ("Sequence sequence1 {" +
180             "  Iteration iteration1 {" +
181             "    Sequence sequence2 {" +
182             "      Event bla {}" +
183             "      Event bli {}" +
184             "      Event blup {}" +
185             "    }" +
186             "  }" +
187             "}", getTaskTree());
188
189        for (int i = 0; i < 10; i++) {
190            simulateEvent(event1, element1);
191            simulateEvent(event2, element1);
192            simulateEvent(event3, element1);
193        }
194
195        new TaskTreeChecker().assertTaskTree
196            ("Sequence sequence1 {" +
197             "  Iteration iteration1 {" +
198             "    Sequence sequence2 {" +
199             "      Event bla {}" +
200             "      Event bli {}" +
201             "      Event blup {}" +
202             "    }" +
203             "  }" +
204             "}", getTaskTree());
205
206        // now test with preceding and trailing other events
207        IEventType event4 = new DummyInteraction("ble", 1);
208        IEventType event5 = new DummyInteraction("blo", 1);
209        IEventType event6 = new DummyInteraction("blu", 1);
210        simulateEvent(event4, element1);
211        simulateEvent(event5, element1);
212        simulateEvent(event6, element1);
213        for (int i = 0; i < 10; i++) {
214            simulateEvent(event1, element1);
215            simulateEvent(event2, element1);
216            simulateEvent(event3, element1);
217        }
218        simulateEvent(event6, element1);
219        simulateEvent(event5, element1);
220        simulateEvent(event4, element1);
221
222        new TaskTreeChecker().assertTaskTree
223            ("Sequence sequence1 {" +
224             "  Iteration iteration1 {" +
225             "    Sequence sequence2 {" +
226             "      Event bla {}" +
227             "      Event bli {}" +
228             "      Event blup {}" +
229             "    }" +
230             "  }" +
231             "  Event ble {}" +
232             "  Event blo {}" +
233             "  Event blu {}" +
234             "  Iteration iteration2 {" +
235             "    Sequence sequence3 {" +
236             "      Event bla {}" +
237             "      Event bli {}" +
238             "      Event blup {}" +
239             "    }" +
240             "  }" +
241             "  Event blu {}" +
242             "  Event blo {}" +
243             "  Event ble {}" +
244             "}", getTaskTree());
245
246        // now test with iterations of iterations
247        for (int i = 0; i < 10; i++) {
248            for (int j = 0; j < 5; j++) {
249                simulateEvent(event1, element1);
250                simulateEvent(event2, element1);
251                simulateEvent(event3, element1);
252            }
253            for (int j = 0; j < 5; j++) {
254                simulateEvent(event2, element1);
255                simulateEvent(event1, element1);
256                simulateEvent(event3, element1);
257            }
258            for (int j = 0; j < 5; j++) {
259                simulateEvent(event1, element1);
260                simulateEvent(event2, element1);
261                simulateEvent(event3, element1);
262            }
263        }
264
265        new TaskTreeChecker().assertTaskTree
266            ("Sequence sequence1 {" +
267             "  Iteration iteration1 {" +
268             "    Sequence sequence2 {" +
269             "      Event bla {}" +
270             "      Event bli {}" +
271             "      Event blup {}" +
272             "    }" +
273             "  }" +
274             "  Event ble {}" +
275             "  Event blo {}" +
276             "  Event blu {}" +
277             "  Iteration iteration2 {" +
278             "    Sequence sequence3 {" +
279             "      Event bla {}" +
280             "      Event bli {}" +
281             "      Event blup {}" +
282             "    }" +
283             "  }" +
284             "  Event blu {}" +
285             "  Event blo {}" +
286             "  Event ble {}" +
287             "  Iteration iteration3 {" +
288             "    Sequence sequence4 {" +
289             "      Iteration iteration4 {" +
290             "        Sequence sequence4 {" +
291             "          Event bla {}" +
292             "          Event bli {}" +
293             "          Event blup {}" +
294             "        }" +
295             "      }" +
296             "      Iteration iteration5 {" +
297             "        Sequence sequence5 {" +
298             "          Event bli {}" +
299             "          Event bla {}" +
300             "          Event blup {}" +
301             "        }" +
302             "      }" +
303             "      Iteration iteration6 {" +
304             "        Sequence sequence6 {" +
305             "          Event bla {}" +
306             "          Event bli {}" +
307             "          Event blup {}" +
308             "        }" +
309             "      }" +
310             "    }" +
311             "  }" +
312             "}", getTaskTree());
313    }
314
315}
Note: See TracBrowser for help on using the repository browser.