source: trunk/quest-core-event-test/src/de/ugoe/cs/quest/coverage/CoverageCalculatorProcessTest.java @ 432

Last change on this file since 432 was 432, checked in by sherbold, 12 years ago
  • renamed packages to fir QUEST project structure
  • Property svn:mime-type set to text/plain
File size: 7.0 KB
Line 
1package de.ugoe.cs.quest.coverage;
2
3import java.util.ArrayList;
4import java.util.Collection;
5
6import java.util.LinkedHashSet;
7import java.util.LinkedList;
8import java.util.List;
9import java.util.Random;
10import java.util.Set;
11import de.ugoe.cs.quest.coverage.CoverageCalculatorProcess;
12import de.ugoe.cs.quest.data.Event;
13import de.ugoe.cs.quest.models.MockTrieBasedModel;
14
15import org.junit.*;
16
17import static org.junit.Assert.*;
18
19/**
20 * The class <code>CoverageCalculatorProcessTest</code> contains tests for the
21 * class <code>{@link CoverageCalculatorProcess}</code>.
22 *
23 * @author Steffen Herbold
24 * @version 1.0
25 */
26public class CoverageCalculatorProcessTest {
27
28        Set<List<? extends Event<?>>> sequencesCovered;
29        Set<List<? extends Event<?>>> sequencesCovered2;
30        MockTrieBasedModel mockProcess;
31
32        @Test
33        public void testCoverageCalculatorProcess_1() throws Exception {
34                int length = 2;
35
36                CoverageCalculatorProcess result = new CoverageCalculatorProcess(
37                                mockProcess, sequencesCovered, length);
38                assertNotNull(result);
39        }
40
41        @Test(expected = java.security.InvalidParameterException.class)
42        public void testCoverageCalculatorProcess_2() throws Exception {
43                int length = 2;
44
45                new CoverageCalculatorProcess(null,sequencesCovered, length);
46        }
47
48        @Test(expected = java.security.InvalidParameterException.class)
49        public void testCoverageCalculatorProcess_3() throws Exception {
50                int length = 2;
51
52                new CoverageCalculatorProcess(mockProcess, null, length);
53        }
54
55        @Test(expected = java.security.InvalidParameterException.class)
56        public void testCoverageCalculatorProcess_4() throws Exception {
57                int length = 0;
58
59                new CoverageCalculatorProcess(mockProcess, sequencesCovered, length);
60        }
61
62        @Test(expected = java.security.InvalidParameterException.class)
63        public void testCoverageCalculatorProcess_5() throws Exception {
64                int length = -1;
65
66                new CoverageCalculatorProcess(mockProcess, sequencesCovered, length);
67        }
68
69        @Test
70        public void testGetCoverageAllNoWeight_1() throws Exception {
71                int length = 2;
72                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
73                                mockProcess, sequencesCovered, length);
74
75                double result = fixture.getCoverageAllNoWeight();
76
77                assertEquals(3.0 / 49.0, result, 0.0001);
78        }
79
80        @Test
81        public void testGetCoverageAllNoWeight_2() throws Exception {
82                int length = 2;
83                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
84                                mockProcess, sequencesCovered2, length);
85
86                double result = fixture.getCoverageAllNoWeight();
87
88                assertEquals(2.0 / 49.0, result, 0.0001);
89        }
90
91        @Test
92        public void testGetCoveragePossibleNoWeight_1() throws Exception {
93                int length = 2;
94                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
95                                mockProcess, sequencesCovered, length);
96
97                double result = fixture.getCoveragePossibleNoWeight();
98
99                assertEquals(3.0 / 9.0, result, 0.0001);
100        }
101
102        @Test
103        public void testGetCoveragePossibleNoWeight_2() throws Exception {
104                int length = 2;
105                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
106                                mockProcess, sequencesCovered2, length);
107
108                double result = fixture.getCoveragePossibleNoWeight();
109
110                assertEquals(2.0 / 9.0, result, 0.0001);
111        }
112
113        @Test
114        public void testGetCoveragePossibleWeight_1() throws Exception {
115                int length = 2;
116                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
117                                mockProcess, sequencesCovered, length);
118
119                double result = fixture.getCoveragePossibleWeight();
120
121                assertEquals(6.0, result, 0.0001);
122        }
123
124        @Test
125        public void testGetCoveragePossibleWeight_2() throws Exception {
126                int length = 2;
127                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
128                                mockProcess, sequencesCovered2, length);
129
130                double result = fixture.getCoveragePossibleWeight();
131
132                assertEquals(4.0, result, 0.0001);
133        }
134
135        @Test
136        public void testGetNumCovered_1() throws Exception {
137                int length = 2;
138                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
139                                mockProcess, sequencesCovered, length);
140
141                int result = fixture.getNumCovered();
142
143                assertEquals(3, result);
144        }
145
146        @Test
147        public void testGetNumCovered_2() throws Exception {
148                int length = 2;
149                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
150                                mockProcess, sequencesCovered2, length);
151
152                int result = fixture.getNumCovered();
153
154                assertEquals(2, result);
155        }
156
157        @Test
158        public void testGetNumPossible_1() throws Exception {
159                int length = 2;
160                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
161                                mockProcess, sequencesCovered, length);
162
163                int result = fixture.getNumPossible();
164
165                assertEquals(9, result);
166        }
167
168        @Test
169        public void testSetSequences_1() throws Exception {
170                int length = 2;
171                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
172                                mockProcess, sequencesCovered, length);
173
174                fixture.setSequences(sequencesCovered2);
175
176                // testing indirectly if sequences were changed
177                assertEquals(2, fixture.getNumCovered());
178        }
179
180        @Test(expected = java.security.InvalidParameterException.class)
181        public void testSetSequences_2() throws Exception {
182                int length = 2;
183                CoverageCalculatorProcess fixture = new CoverageCalculatorProcess(
184                                mockProcess, sequencesCovered, length);
185
186                fixture.setSequences(null);
187        }
188
189        @Before
190        public void setUp() throws Exception {
191                Collection<List<? extends Event<?>>> sequences = new LinkedList<List<? extends Event<?>>>();
192                List<Event<?>> sequence1 = new ArrayList<Event<?>>();
193                sequence1.add(new Event<String>("a"));
194                sequence1.add(new Event<String>("b"));
195                sequence1.add(new Event<String>("r"));
196                sequence1.add(new Event<String>("a"));
197                List<Event<?>> sequence2 = new ArrayList<Event<?>>();
198                sequence2.add(new Event<String>("c"));
199                sequence2.add(new Event<String>("a"));
200                sequence2.add(new Event<String>("d"));
201                sequence2.add(new Event<String>("a"));
202                sequence2.add(new Event<String>("b"));
203                sequence2.add(new Event<String>("r"));
204                sequence2.add(new Event<String>("a"));
205                sequences.add(sequence1);
206                sequences.add(sequence2);
207
208                sequencesCovered = new LinkedHashSet<List<? extends Event<?>>>();
209                List<Event<?>> tmpList = new ArrayList<Event<?>>();
210                tmpList.add(new Event<String>("a"));
211                tmpList.add(new Event<String>("b"));
212                tmpList.add(new Event<String>("r"));
213                sequencesCovered.add(tmpList);
214                tmpList = new ArrayList<Event<?>>();
215                tmpList.add(new Event<String>("b"));
216                tmpList.add(new Event<String>("r"));
217                tmpList.add(new Event<String>("a"));
218                sequencesCovered.add(tmpList);
219
220                sequencesCovered2 = new LinkedHashSet<List<? extends Event<?>>>();
221                tmpList = new ArrayList<Event<?>>();
222                tmpList.add(new Event<String>("a"));
223                tmpList.add(new Event<String>("b"));
224                tmpList.add(new Event<String>("r"));
225                sequencesCovered2.add(tmpList);
226
227                int markovOrder = 2;
228                mockProcess = new MockTrieBasedModel(markovOrder, new Random());
229                mockProcess.train(sequences);
230        }
231
232        public static void main(String[] args) {
233                new org.junit.runner.JUnitCore()
234                                .run(CoverageCalculatorProcessTest.class);
235        }
236}
Note: See TracBrowser for help on using the repository browser.