source: trunk/autoquest-core-coverage-test/src/test/java/de/ugoe/cs/autoquest/coverage/CoverageCalculatorObservedTest.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
  • Property svn:mime-type set to text/plain
File size: 10.3 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.coverage;
16
17import java.util.ArrayList;
18import java.util.Collection;
19
20import de.ugoe.cs.autoquest.coverage.CoverageCalculatorObserved;
21import de.ugoe.cs.autoquest.eventcore.Event;
22import de.ugoe.cs.autoquest.eventcore.StringEventType;
23import de.ugoe.cs.autoquest.usageprofiles.MockTrieBasedModel;
24
25import java.util.LinkedHashSet;
26import java.util.LinkedList;
27import java.util.List;
28import java.util.Random;
29import java.util.Set;
30
31import org.junit.*;
32
33import static org.junit.Assert.*;
34
35/**
36 * The class <code>CoverageCalculatorObservedTest</code> contains tests for the
37 * class <code>{@link CoverageCalculatorObserved}</code>.
38 *
39 * @author Steffen Herbold
40 * @version 1.0
41 */
42public class CoverageCalculatorObservedTest {
43       
44        Collection<List<Event>> sequencesObserved;
45       
46        Set<List<Event>> sequencesCovered;
47        Set<List<Event>> sequencesCovered2;
48        Set<List<Event>> sequencesNewPossible;
49       
50        MockTrieBasedModel mockProcess;
51       
52        @Test
53        public void testCoverageCalculatorObserved_1() throws Exception {
54                int length = 2;
55
56                CoverageCalculatorObserved result = new CoverageCalculatorObserved(
57                                sequencesObserved, sequencesCovered, length);
58                assertNotNull(result);
59        }
60
61        @Test(expected = java.lang.IllegalArgumentException.class)
62        public void testCoverageCalculatorObserved_2() throws Exception {
63                int length = 2;
64
65                new CoverageCalculatorObserved(null,sequencesCovered, length);
66        }
67
68        @Test(expected = java.lang.IllegalArgumentException.class)
69        public void testCoverageCalculatorObserved_3() throws Exception {
70                int length = 2;
71
72                new CoverageCalculatorObserved(sequencesObserved, null, length);
73        }
74
75        @Test(expected = java.lang.IllegalArgumentException.class)
76        public void testCoverageCalculatorObserved_4() throws Exception {
77                int length = 0;
78
79                new CoverageCalculatorObserved(sequencesObserved, sequencesCovered, length);
80        }
81
82        @Test(expected = java.lang.IllegalArgumentException.class)
83        public void testCoverageCalculatorObserved_5() throws Exception {
84                int length = -1;
85
86                new CoverageCalculatorObserved(sequencesObserved, sequencesCovered, length);
87        }
88       
89        @Test
90        public void testCoverageObserved_1() throws Exception {
91                int length = 2;
92                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
93                                sequencesObserved, sequencesCovered, length);
94               
95                double result = fixture.getCoverageObserved();
96               
97                assertEquals(3.0/6.0, result, 0.0001);
98        }
99       
100        @Test
101        public void testCoverageObserved_2() throws Exception {
102                int length = 2;
103                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
104                                sequencesObserved, sequencesCovered2, length);
105               
106                double result = fixture.getCoverageObserved();
107               
108                assertEquals(2.0/6.0, result, 0.0001);
109        }
110       
111        @Test
112        public void testCoverageObservedWeigth_1() throws Exception {
113                int length = 2;
114                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
115                                sequencesObserved, sequencesCovered, length);
116               
117                double result = fixture.getCoverageObservedWeigth(mockProcess);
118               
119                assertEquals(6.0, result, 0.0001);
120        }
121       
122        @Test
123        public void testCoverageObservedWeigth_2() throws Exception {
124                int length = 2;
125                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
126                                sequencesObserved, sequencesCovered2, length);
127               
128                double result = fixture.getCoverageObservedWeigth(mockProcess);
129               
130                assertEquals(4.0, result, 0.0001);
131        }
132       
133        @Test
134        public void testGetNewPercentage_1() throws Exception {
135                int length = 2;
136                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
137                                sequencesObserved, sequencesCovered, length);
138               
139                double result = fixture.getNewPercentage();
140               
141                assertEquals(1.0/4.0, result, 0.0001);
142        }
143       
144        @Test
145        public void testGetNewPercentage_2() throws Exception {
146                int length = 2;
147                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
148                                sequencesObserved, sequencesCovered2, length);
149               
150                double result = fixture.getNewPercentage();
151               
152                assertEquals(0.0, result, 0.0001);
153        }
154       
155        @Test
156        public void testCoveragePossibleNew_1() throws Exception {
157                int length = 3;
158                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
159                                sequencesObserved, sequencesNewPossible, length);
160               
161                double result = fixture.getCoveragePossibleNew(mockProcess);
162               
163                assertEquals(1.0/11.0, result, 0.0001);
164        }
165       
166        @Test
167        public void testCoveragePossibleNew_2() throws Exception {
168                int length = 2;
169                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
170                                sequencesObserved, sequencesCovered, length);
171               
172                double result = fixture.getCoveragePossibleNew(mockProcess);
173               
174                assertEquals(0.0, result, 0.0001);
175        }
176       
177        @Test(expected = java.lang.IllegalArgumentException.class )
178        public void testCoveragePossibleNew_3() throws Exception {
179                int length = 3;
180                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
181                                sequencesObserved, sequencesCovered, length);
182               
183                fixture.getCoveragePossibleNew(null);
184        }
185       
186        @Test
187        public void testCoveragePossibleNewWeight_1() throws Exception {
188                int length = 3;
189                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
190                                sequencesObserved, sequencesNewPossible, length);
191               
192                double result = fixture.getCoveragePossibleNewWeight(mockProcess);
193               
194                assertEquals(2.0, result, 0.0001);
195        }
196       
197        @Test
198        public void testCoveragePossibleNewWeight_2() throws Exception {
199                int length = 2;
200                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
201                                sequencesObserved, sequencesCovered, length);
202               
203                double result = fixture.getCoveragePossibleNewWeight(mockProcess);
204               
205                assertEquals(0.0, result, 0.0001);
206        }
207       
208        @Test(expected = java.lang.IllegalArgumentException.class )
209        public void testCoveragePossibleNewWeight_3() throws Exception {
210                int length = 3;
211                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
212                                sequencesObserved, sequencesCovered, length);
213               
214                fixture.getCoveragePossibleNewWeight(null);
215        }       
216       
217       
218        @Test
219        public void testGetNumObserved_1() throws Exception {
220                int length = 2;
221                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
222                                sequencesObserved, sequencesCovered, length);
223               
224                int result = fixture.getNumObserved();
225               
226                assertEquals(6, result);
227        }
228       
229        @Test
230        public void testGetNumCovered_1() throws Exception {
231                int length = 2;
232                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
233                                sequencesObserved, sequencesCovered, length);
234               
235                int result = fixture.getNumCovered();
236               
237                assertEquals(4, result);
238        }
239       
240        @Test
241        public void testGetNumCovered_2() throws Exception {
242                int length = 2;
243                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
244                                sequencesObserved, sequencesCovered2, length);
245               
246                int result = fixture.getNumCovered();
247               
248                assertEquals(2, result);
249        }
250       
251        @Test
252        public void testGetNumNew_1() throws Exception {
253                int length = 2;
254                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
255                                sequencesObserved, sequencesCovered, length);
256               
257                int result = fixture.getNumNew();
258               
259                assertEquals(1, result);
260        }
261       
262        @Test
263        public void testGetNumNew_2() throws Exception {
264                int length = 2;
265                CoverageCalculatorObserved fixture = new CoverageCalculatorObserved(
266                                sequencesObserved, sequencesCovered2, length);
267               
268                int result = fixture.getNumNew();
269               
270                assertEquals(0, result);
271        }
272       
273        @Before
274        public void setUp() throws Exception {
275                sequencesObserved = new LinkedList<List<Event>>();
276                List<Event> sequence1 = new ArrayList<Event>();
277                sequence1.add(new Event(new StringEventType("a")));
278                sequence1.add(new Event(new StringEventType("b")));
279                sequence1.add(new Event(new StringEventType("r")));
280                sequence1.add(new Event(new StringEventType("a")));
281                List<Event> sequence2 = new ArrayList<Event>();
282                sequence2.add(new Event(new StringEventType("c")));
283                sequence2.add(new Event(new StringEventType("a")));
284                sequence2.add(new Event(new StringEventType("d")));
285                sequence2.add(new Event(new StringEventType("a")));
286                sequence2.add(new Event(new StringEventType("b")));
287                sequence2.add(new Event(new StringEventType("r")));
288                sequence2.add(new Event(new StringEventType("a")));
289                sequencesObserved.add(sequence1);
290                sequencesObserved.add(sequence2);
291
292                sequencesCovered = new LinkedHashSet<List<Event>>();
293                List<Event> tmpList = new ArrayList<Event>();
294                tmpList.add(new Event(new StringEventType("a")));
295                tmpList.add(new Event(new StringEventType("b")));
296                tmpList.add(new Event(new StringEventType("r")));
297                sequencesCovered.add(tmpList);
298                tmpList = new ArrayList<Event>();
299                tmpList.add(new Event(new StringEventType("b")));
300                tmpList.add(new Event(new StringEventType("r")));
301                tmpList.add(new Event(new StringEventType("a")));
302                tmpList.add(new Event(new StringEventType("e")));
303                sequencesCovered.add(tmpList);
304
305                sequencesCovered2 = new LinkedHashSet<List<Event>>();
306                tmpList = new ArrayList<Event>();
307                tmpList.add(new Event(new StringEventType("a")));
308                tmpList.add(new Event(new StringEventType("b")));
309                tmpList.add(new Event(new StringEventType("r")));
310                sequencesCovered2.add(tmpList);
311               
312                sequencesNewPossible = new LinkedHashSet<List<Event>>();
313                tmpList = new ArrayList<Event>();
314                tmpList.add(new Event(new StringEventType("r")));
315                tmpList.add(new Event(new StringEventType("a")));
316                tmpList.add(new Event(new StringEventType("b")));
317                sequencesNewPossible.add(tmpList);
318               
319                int markovOrder = 2;
320                mockProcess = new MockTrieBasedModel(markovOrder, new Random());
321                mockProcess.train(sequencesObserved);
322        }
323
324        public static void main(String[] args) {
325                new org.junit.runner.JUnitCore()
326                                .run(CoverageCalculatorObservedTest.class);
327        }
328
329}
Note: See TracBrowser for help on using the repository browser.