1 | |
---|
2 | package de.ugoe.cs.autoquest.usability; |
---|
3 | |
---|
4 | import static de.ugoe.cs.autoquest.usability.taskmodel.filter.types.EventTypeFilter.MOUSE_CLICK; |
---|
5 | import static de.ugoe.cs.autoquest.usability.taskmodel.filter.types.EventTypeFilter.TEXT_INPUT; |
---|
6 | import static de.ugoe.cs.autoquest.usability.taskmodel.filter.types.TaskTypeFilter.ITERATION; |
---|
7 | import static de.ugoe.cs.autoquest.usability.taskmodel.filter.types.TaskTypeFilter.SEQUENCE; |
---|
8 | import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel; |
---|
9 | import de.ugoe.cs.autoquest.usability.rules.patterns.InteractionPattern; |
---|
10 | import de.ugoe.cs.autoquest.usability.rules.patterns.InteractionPatternBuilder; |
---|
11 | import de.ugoe.cs.autoquest.usability.testutil.GenerateTaskModelUtil; |
---|
12 | |
---|
13 | public class SimpleTest { |
---|
14 | public static void main(String[] args) { |
---|
15 | // Given |
---|
16 | String spec = "UserSession {" + |
---|
17 | " Sequence seq1 {" + |
---|
18 | " TextInput t1 {}" + |
---|
19 | " Selection sel1 {" + |
---|
20 | " Sequence seq2 {" + |
---|
21 | " MouseClick mc1 {}" + |
---|
22 | " TextInput t2 {}" + |
---|
23 | " }" + |
---|
24 | " }" + |
---|
25 | " Iteration it1 {" + |
---|
26 | " MouseClick mc2 {}" + |
---|
27 | " }" + |
---|
28 | " }" + |
---|
29 | "}"; |
---|
30 | ITaskModel taskTree = GenerateTaskModelUtil.getTaskModelFromSpec(spec); |
---|
31 | |
---|
32 | InteractionPattern containedPattern = |
---|
33 | InteractionPatternBuilder.newPattern().rootTask(SEQUENCE).startsWithEvent(MOUSE_CLICK) |
---|
34 | .endsWithEvent(TEXT_INPUT).patternFinished().build(); |
---|
35 | |
---|
36 | //InteractionPattern outerContainedPattern = |
---|
37 | // InteractionPatternBuilder.newPattern().rootTask(ANY).containsPattern(containedPattern).patternFinished().build(); |
---|
38 | |
---|
39 | InteractionPattern endsWithPattern = |
---|
40 | InteractionPatternBuilder.newPattern().rootTask(ITERATION).startsWithEvent(MOUSE_CLICK) |
---|
41 | .patternFinished().build(); |
---|
42 | |
---|
43 | InteractionPattern pattern = |
---|
44 | InteractionPatternBuilder.newPattern().rootTask(SEQUENCE).startsWithEvent(TEXT_INPUT) |
---|
45 | .containsPattern(containedPattern).endsWithPattern(endsWithPattern) |
---|
46 | .patternFinished().build(); |
---|
47 | |
---|
48 | // When |
---|
49 | boolean patternContained = pattern.containedIn(taskTree); |
---|
50 | System.out.println(patternContained); |
---|
51 | } |
---|
52 | } |
---|