source: trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/rules/patterns/visitors/endswith/EndsWithEventTest.java @ 1152

Last change on this file since 1152 was 1152, checked in by pharms, 11 years ago
  • complete refactoring of task tree model with a separation of task models and task instances
  • Property svn:mime-type set to text/plain
File size: 14.8 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.usability.rules.patterns.visitors.endswith;
16
17import static de.ugoe.cs.autoquest.usability.tasktree.filters.EventTypeFilter.TEXT_INPUT;
18import static de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTypeFilter.ITERATION;
19import static de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTypeFilter.SELECTION;
20import static de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTypeFilter.SEQUENCE;
21import static org.fest.assertions.api.Assertions.assertThat;
22
23import org.junit.Test;
24
25import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
26import de.ugoe.cs.autoquest.usability.rules.patterns.UsagePattern;
27import de.ugoe.cs.autoquest.usability.rules.patterns.UsagePatternBuilder;
28import de.ugoe.cs.autoquest.usability.testutil.GenerateTaskTreeUtil;
29
30/**
31 * <p>
32 * TODO comment
33 * </p>
34 *
35 * @author Alexander Deicke
36 */
37public class EndsWithEventTest {
38
39    @Test
40    public void sequence_ends_with_positive_1() {
41        // Given
42        String spec = "Sequence {" +
43                      "  TextInput () {}" +
44                      "}";
45        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
46        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SEQUENCE).endsWith(TEXT_INPUT).build();
47        // When
48        boolean patternContained = pattern.containedIn(taskTree);
49        // Then
50        assertThat(patternContained).isTrue();
51    }
52   
53    @Test
54    public void sequence_ends_with_positive_2() {
55        // Given
56        String spec = "Selection {" +
57                      "  EventTask target1 {}" +
58                      "  Sequence {" +
59                      "    EventTask target2 {}" +
60                      "    TextInput target3 {}" +
61                      "  }" +
62                      "}";
63        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
64        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SEQUENCE).endsWith(TEXT_INPUT).build();
65        // When
66        boolean patternContained = pattern.containedIn(taskTree);
67        // Then
68        assertThat(patternContained).isTrue();
69    }
70   
71    @Test
72    public void sequence_ends_with_positive_3() {
73        // Given
74        String spec =  "Sequence {" +
75                       "  Optional {" +
76                       "    Sequence {" +
77                       "      EventTask target4 {}" +
78                       "      EventTask target3 {}" +
79                       "    }" +
80                       "  }" +
81                       "  EventTask target1 {}" +
82                       "  EventTask target2 {}" +
83                       "  EventTask target3 {}" +
84                       "  EventTask target4 {}" +
85                       "  Selection {" +
86                       "    EventTask target5 {}" +
87                       "    Sequence {" +
88                       "      EventTask target4 {}" +
89                       "      EventTask target2 {}" +
90                       "    }" +
91                       "  }" +
92                       "  EventTask target6 {}" +
93                       "  TextInput target7 {}" +
94                       "}";
95        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
96        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SEQUENCE).endsWith(TEXT_INPUT).build();
97        // When
98        boolean patternContained = pattern.containedIn(taskTree);
99        // Then
100        assertThat(patternContained).isTrue();
101    }
102   
103    @Test
104    public void sequence_ends_with_negative_1() {
105        // Given
106        String spec = "Sequence {" +
107                      "  MouseClick () {}" +
108                      "}";
109        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
110        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SEQUENCE).endsWith(TEXT_INPUT).build();
111        // When
112        boolean patternContained = pattern.containedIn(taskTree);
113        // Then
114        assertThat(patternContained).isFalse();
115    }
116   
117    @Test
118    public void sequence_ends_with_negative_2() {
119        // Given
120        String spec = "Selection {" +
121                      "  Sequence {" +
122                      "    EventTask target1 {}" +
123                      "    EventTask target2 {}" +
124                      "  }" +
125                      "  Sequence {" +
126                      "    EventTask target3 {}" +
127                      "    EventTask target4 {}" +
128                      "  }" +
129                      "  Sequence {" +
130                      "    EventTask target5 {}" +
131                      "    EventTask target6 {}" +
132                      "  }" +
133                      "}";
134        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
135        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SEQUENCE).endsWith(TEXT_INPUT).build();
136        // When
137        boolean patternContained = pattern.containedIn(taskTree);
138        // Then
139        assertThat(patternContained).isFalse();
140    }
141   
142    @Test
143    public void sequence_ends_with_negative_3() {
144        // Given
145        String spec = "Iteration {" +
146                      "  Selection {" +
147                      "    EventTask target2 {}" +
148                      "    EventTask target3 {}" +
149                      "  }" +
150                      "}";
151        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
152        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SEQUENCE).endsWith(TEXT_INPUT).build();
153        // When
154        boolean patternContained = pattern.containedIn(taskTree);
155        // Then
156        assertThat(patternContained).isFalse();
157    }
158   
159    @Test
160    public void iteration_ends_with_positive_1() {
161        // Given
162        String spec = "Iteration {" +
163                      "  TextInput () {}" +
164                      "}";
165        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
166        UsagePattern pattern = new UsagePatternBuilder().concernedNode(ITERATION).endsWith(TEXT_INPUT).build();
167        // When
168        boolean patternContained = pattern.containedIn(taskTree);
169        // Then
170        assertThat(patternContained).isTrue();
171    }
172   
173    @Test
174    public void iteration_ends_with_positive_2() {
175        // Given
176        String spec = "Iteration {" +
177                      "  Sequence {" +
178                      "    EventTask target1 {}" +
179                      "    Selection {" +
180                      "      EventTask target2 {}" +
181                      "      TextInput target2 {}" +
182                      "    }" +
183                      "  }" +
184                      "}";
185        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
186        UsagePattern pattern = new UsagePatternBuilder().concernedNode(ITERATION).endsWith(TEXT_INPUT).build();
187        // When
188        boolean patternContained = pattern.containedIn(taskTree);
189        // Then
190        assertThat(patternContained).isTrue();
191    }
192   
193    @Test
194    public void iteration_ends_with_positive_3() {
195        // Given
196        String spec = "Iteration {" +
197                      "  Selection {" +
198                      "    TextInput target1 {}" +
199                      "    Sequence {" +
200                      "      EventTask target2 {}" +
201                      "      EventTask target3 {}" +
202                      "    }" +
203                      "  }" +
204                      "}";
205        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
206        UsagePattern pattern = new UsagePatternBuilder().concernedNode(ITERATION).endsWith(TEXT_INPUT).build();
207        // When
208        boolean patternContained = pattern.containedIn(taskTree);
209        // Then
210        assertThat(patternContained).isTrue();
211    }
212   
213    @Test
214    public void iteration_ends_with_negative_1() {
215        // Given
216        String spec = "Iteration {" +
217                      "  MouseClick () {}" +
218                      "}";
219        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
220        UsagePattern pattern = new UsagePatternBuilder().concernedNode(ITERATION).endsWith(TEXT_INPUT).build();
221        // When
222        boolean patternContained = pattern.containedIn(taskTree);
223        // Then
224        assertThat(patternContained).isFalse();
225    }
226   
227    @Test
228    public void iteration_ends_with_negative_2() {
229        // Given
230        String spec = "Iteration {" +
231                      "  Sequence {" +
232                      "    EventTask target1 {}" +
233                      "    Optional {" +
234                      "      EventTask target2 {}" +
235                      "    }" +
236                      "  }" +
237                      "}";
238        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
239        UsagePattern pattern = new UsagePatternBuilder().concernedNode(ITERATION).endsWith(TEXT_INPUT).build();
240        // When
241        boolean patternContained = pattern.containedIn(taskTree);
242        // Then
243        assertThat(patternContained).isFalse();
244    }
245   
246    @Test
247    public void iteration_ends_with_negative_3() {
248        // Given
249        String spec = "Iteration {" +
250                      "  Selection {" +
251                      "    EventTask target1 {}" +
252                      "    Sequence {" +
253                      "      EventTask target2 {}" +
254                      "      EventTask target3 {}" +
255                      "    }" +
256                      "  }" +
257                      "}";
258        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
259        UsagePattern pattern = new UsagePatternBuilder().concernedNode(ITERATION).endsWith(TEXT_INPUT).build();
260        // When
261        boolean patternContained = pattern.containedIn(taskTree);
262        // Then
263        assertThat(patternContained).isFalse();
264    }
265   
266    @Test
267    public void selection_ends_with_positive_1() {
268        // Given
269        String spec = "Selection {" +
270                      "  MouseClick () {}" +
271                      "  TextInput () {}" +
272                      "}";
273        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
274        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SELECTION).endsWith(TEXT_INPUT).build();
275        // When
276        boolean patternContained = pattern.containedIn(taskTree);
277        // Then
278        assertThat(patternContained).isTrue();
279    }
280   
281    @Test
282    public void selection_ends_with_positive_2() {
283        // Given
284        String spec = "Sequence {" +
285                      "  Optional {" +
286                      "    Sequence {" +
287                      "      EventTask target4 {}" +
288                      "      EventTask target3 {}" +
289                      "    }" +
290                      "  }" +
291                      "  EventTask target1 {}" +
292                      "  EventTask target2 {}" +
293                      "  EventTask target3 {}" +
294                      "  EventTask target4 {}" +
295                      "  Selection {" +
296                      "    EventTask target5 {}" +
297                      "    Sequence {" +
298                      "      EventTask target4 {}" +
299                      "      TextInput target2 {}" +
300                      "    }" +
301                      "  }" +
302                      "  EventTask target6 {}" +
303                      "  EventTask target7 {}" +
304                      "}";
305        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
306        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SELECTION).endsWith(TEXT_INPUT).build();
307        // When
308        boolean patternContained = pattern.containedIn(taskTree);
309        // Then
310        assertThat(patternContained).isTrue();
311    }
312   
313    @Test
314    public void selection_ends_with_positive_3() {
315        // Given
316        String spec = "Iteration {" +
317                      "  Selection {" +
318                      "    Sequence {" +
319                      "      EventTask target3 {}" +
320                      "      TextInput target4 {}" +
321                      "    }" +
322                      "    Sequence {" +
323                      "      TextInput target5 {}" +
324                      "      EventTask target6 {}" +
325                      "    }" +
326                      "  }" +
327                      "}";
328        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
329        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SELECTION).endsWith(TEXT_INPUT).build();
330        // When
331        boolean patternContained = pattern.containedIn(taskTree);
332        // Then
333        assertThat(patternContained).isTrue();
334    }
335   
336    @Test
337    public void selection_ends_with_negative_1() {
338        // Given
339        String spec = "Selection {" +
340                      "  DragAndDrop () {}" +
341                      "  MouseClick () {}" +
342                      "}";
343        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
344        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SELECTION).endsWith(TEXT_INPUT).build();
345        // When
346        boolean patternContained = pattern.containedIn(taskTree);
347        // Then
348        assertThat(patternContained).isFalse();
349    }
350   
351    @Test
352    public void selection_ends_with_negative_2() {
353        // Given
354        String spec = "Iteration {" +
355                      "  Selection {" +
356                      "    Sequence {" +
357                      "      TextInput target3 {}" +
358                      "      EventTask target4 {}" +
359                      "    }" +
360                      "    Sequence {" +
361                      "      TextInput target5 {}" +
362                      "      EventTask target6 {}" +
363                      "    }" +
364                      "  }" +
365                      "}";
366        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromSpec(spec);
367        UsagePattern pattern = new UsagePatternBuilder().concernedNode(SELECTION).endsWith(TEXT_INPUT).build();
368        // When
369        boolean patternContained = pattern.containedIn(taskTree);
370        // Then
371        assertThat(patternContained).isFalse();
372    }
373
374}
Note: See TracBrowser for help on using the repository browser.