source: trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/CMDperformUsabilityEvaluationTest.java @ 1141

Last change on this file since 1141 was 1141, checked in by adeicke, 11 years ago

Adapted test project to refactoring of evaluation project.

  • Property svn:mime-type set to text/plain
File size: 4.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.usability;
16
17import static org.fest.assertions.api.Assertions.assertThat;
18
19import java.util.List;
20
21import org.junit.Test;
22
23import com.google.common.base.Optional;
24import com.google.common.collect.Lists;
25
26import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
27import de.ugoe.cs.autoquest.usability.rules.UsabilityResult;
28import de.ugoe.cs.autoquest.usability.testutil.GenerateTaskTreeUtil;
29import de.ugoe.cs.util.console.GlobalDataContainer;
30
31/**
32 * <p>
33 * TODO comment
34 * </p>
35 *
36 * @author Alexander Deicke
37 */
38public class CMDperformUsabilityEvaluationTest {
39
40    /**
41     * Test method for {@link de.ugoe.cs.autoquest.usability.CMDperformUsabilityEvaluation#run(java.util.List)}.
42     */
43    @Test(expected = IllegalArgumentException.class)
44    public void run_without_parameter_set() {
45        new CMDperformUsabilityEvaluation().run(Lists.newArrayList());
46    }
47   
48    /**
49     * Test method for {@link de.ugoe.cs.autoquest.usability.CMDperformUsabilityEvaluation#run(java.util.List)}.
50     */
51    public void run_without_evaluation_result_parameter_set_and_no_task_tree_in_data_container() {
52        List<?> parameters = Lists.newArrayList("taskTree");
53        new CMDperformUsabilityEvaluation().run((List<Object>) parameters);
54        assertThat(getUsabilityEvaluationResult("usabilityEvaluationResult").isPresent()).isFalse();
55    }
56
57    private Optional<UsabilityResult> getUsabilityEvaluationResult(String evaluationResultParameter) {
58        UsabilityResult result = (UsabilityResult) GlobalDataContainer.getInstance().getData(evaluationResultParameter);
59        return Optional.fromNullable(result);
60    }
61   
62    /**
63     * Test method for {@link de.ugoe.cs.autoquest.usability.CMDperformUsabilityEvaluation#run(java.util.List)}.
64     */
65    @Test
66    public void run_with_all_parameter_set_and_no_task_tree_in_data_container() {
67        List<?> parameters = Lists.newArrayList("taskTree", "evaluationResult");
68        new CMDperformUsabilityEvaluation().run((List<Object>) parameters);
69        assertThat(getUsabilityEvaluationResult("evaluationResult").isPresent()).isFalse();
70
71    }
72   
73    /**
74     * Test method for {@link de.ugoe.cs.autoquest.usability.CMDperformUsabilityEvaluation#run(java.util.List)}.
75     */
76    @Test
77    public void run_with_more_parameter_set_and_no_task_tree_in_data_container() {
78        List<?> parameters = Lists.newArrayList("taskTree", "evaluationResult", "dummyParameter");
79        new CMDperformUsabilityEvaluation().run((List<Object>) parameters);
80        assertThat(getUsabilityEvaluationResult("evaluationResult")).isNotNull();
81
82    }
83   
84    /**
85     * Test method for {@link de.ugoe.cs.autoquest.usability.CMDperformUsabilityEvaluation#run(java.util.List)}.
86     */
87    @Test
88    public void run_with_all_parameter_set_and_task_tree_in_data_container() {
89        String spec = "EventTask target1 {}";
90        storeInDataContainer(GenerateTaskTreeUtil.getTaskTreeFromSpec(spec));
91        List<?> parameters = Lists.newArrayList("taskTree", "evaluationResult");
92        new CMDperformUsabilityEvaluation().run((List<Object>) parameters);
93        assertThat(getUsabilityEvaluationResult("evaluationResult").isPresent()).isTrue();
94
95    }
96
97    private void storeInDataContainer(ITaskTree taskTree) {
98        GlobalDataContainer.getInstance().addData("taskTree", taskTree);
99    }
100   
101    /**
102     * Test method for {@link de.ugoe.cs.autoquest.usability.CMDperformUsabilityEvaluation#help()}.
103     */
104    @Test
105    public void print_help_text() {
106        String helpText = new CMDperformUsabilityEvaluation().help();
107        assertThat(helpText).isEqualToIgnoringCase("peformUsabilityEvaluation <taskTree> {evaluationResult}");
108    }
109
110}
Note: See TracBrowser for help on using the repository browser.