source: trunk/EventBenchCoreTest/src/de/ugoe/cs/eventbench/models/TrieBasedModelTest.java @ 326

Last change on this file since 326 was 326, checked in by sherbold, 13 years ago
  • changed signature of de.ugoe.cs.util.eventbench.models.TrieBasedModel?.train() and update() from using Collection<List<Event<?>>> to Collection<List<? extends Event<?>>>
  • Property svn:mime-type set to text/plain
File size: 19.9 KB
Line 
1package de.ugoe.cs.eventbench.models;
2
3import java.util.ArrayList;
4import java.util.Collection;
5import java.util.HashSet;
6import java.util.List;
7import java.util.Random;
8import de.ugoe.cs.eventbench.data.Event;
9import org.junit.*;
10import static org.junit.Assert.*;
11
12/**
13 * The class <code>TrieBasedModelTest</code> contains tests for the class <code>{@link TrieBasedModel}</code>.
14 *
15 * @author Steffen Herbold
16 * @version 1.0
17 */
18public class TrieBasedModelTest {
19       
20        List<Event<?>> sequence;
21        Collection<Event<?>> symbols;
22       
23        private void assertTrieStructure(Trie<Event<?>> trie, int numSequences) {
24                TrieNode<Event<?>> root = trie.find(null);
25                TrieNode<Event<?>> root_a = root.getChild(new Event<String>("a"));
26                TrieNode<Event<?>> root_a_a = root_a.getChild(new Event<String>("a"));
27                TrieNode<Event<?>> root_a_b = root_a.getChild(new Event<String>("b"));
28                TrieNode<Event<?>> root_a_b_a = root_a_b.getChild(new Event<String>("a"));
29                TrieNode<Event<?>> root_a_b_b = root_a_b.getChild(new Event<String>("b"));
30                TrieNode<Event<?>> root_a_b_c = root_a_b.getChild(new Event<String>("c"));
31                TrieNode<Event<?>> root_a_b_d = root_a_b.getChild(new Event<String>("d"));
32                TrieNode<Event<?>> root_a_b_r = root_a_b.getChild(new Event<String>("r"));
33                TrieNode<Event<?>> root_a_c = root_a.getChild(new Event<String>("c"));
34                TrieNode<Event<?>> root_a_c_a = root_a_c.getChild(new Event<String>("a"));
35                TrieNode<Event<?>> root_a_c_b = root_a_c.getChild(new Event<String>("b"));
36                TrieNode<Event<?>> root_a_c_c = root_a_c.getChild(new Event<String>("c"));
37                TrieNode<Event<?>> root_a_c_d = root_a_c.getChild(new Event<String>("d"));
38                TrieNode<Event<?>> root_a_c_r = root_a_c.getChild(new Event<String>("r"));
39                TrieNode<Event<?>> root_a_d = root_a.getChild(new Event<String>("d"));
40                TrieNode<Event<?>> root_a_d_a = root_a_d.getChild(new Event<String>("a"));
41                TrieNode<Event<?>> root_a_d_b = root_a_d.getChild(new Event<String>("b"));
42                TrieNode<Event<?>> root_a_d_c = root_a_d.getChild(new Event<String>("c"));
43                TrieNode<Event<?>> root_a_d_d = root_a_d.getChild(new Event<String>("d"));
44                TrieNode<Event<?>> root_a_d_r = root_a_d.getChild(new Event<String>("r"));
45                TrieNode<Event<?>> root_a_r = root_a.getChild(new Event<String>("r"));
46                TrieNode<Event<?>> root_b = root.getChild(new Event<String>("b"));
47                TrieNode<Event<?>> root_b_a = root_b.getChild(new Event<String>("a"));
48                TrieNode<Event<?>> root_b_b = root_b.getChild(new Event<String>("b"));
49                TrieNode<Event<?>> root_b_c = root_b.getChild(new Event<String>("c"));
50                TrieNode<Event<?>> root_b_d = root_b.getChild(new Event<String>("d"));
51                TrieNode<Event<?>> root_b_r = root_b.getChild(new Event<String>("r"));
52                TrieNode<Event<?>> root_b_r_a = root_b_r.getChild(new Event<String>("a"));
53                TrieNode<Event<?>> root_b_r_b = root_b_r.getChild(new Event<String>("b"));
54                TrieNode<Event<?>> root_b_r_c = root_b_r.getChild(new Event<String>("c"));
55                TrieNode<Event<?>> root_b_r_d = root_b_r.getChild(new Event<String>("d"));
56                TrieNode<Event<?>> root_b_r_r = root_b_r.getChild(new Event<String>("r"));
57                TrieNode<Event<?>> root_c = root.getChild(new Event<String>("c"));
58                TrieNode<Event<?>> root_c_a = root_c.getChild(new Event<String>("a"));
59                TrieNode<Event<?>> root_c_a_a = root_c_a.getChild(new Event<String>("a"));
60                TrieNode<Event<?>> root_c_a_b = root_c_a.getChild(new Event<String>("b"));
61                TrieNode<Event<?>> root_c_a_c = root_c_a.getChild(new Event<String>("c"));
62                TrieNode<Event<?>> root_c_a_d = root_c_a.getChild(new Event<String>("d"));
63                TrieNode<Event<?>> root_c_a_r = root_c_a.getChild(new Event<String>("r"));
64                TrieNode<Event<?>> root_c_b = root_c.getChild(new Event<String>("b"));
65                TrieNode<Event<?>> root_c_c = root_c.getChild(new Event<String>("c"));
66                TrieNode<Event<?>> root_c_d = root_c.getChild(new Event<String>("d"));
67                TrieNode<Event<?>> root_c_r = root_c.getChild(new Event<String>("r"));
68                TrieNode<Event<?>> root_d = root.getChild(new Event<String>("d"));
69                TrieNode<Event<?>> root_d_a = root_d.getChild(new Event<String>("a"));
70                TrieNode<Event<?>> root_d_a_a = root_d_a.getChild(new Event<String>("a"));
71                TrieNode<Event<?>> root_d_a_b = root_d_a.getChild(new Event<String>("b"));
72                TrieNode<Event<?>> root_d_a_c = root_d_a.getChild(new Event<String>("c"));
73                TrieNode<Event<?>> root_d_a_d = root_d_a.getChild(new Event<String>("d"));
74                TrieNode<Event<?>> root_d_a_r = root_d_a.getChild(new Event<String>("r"));
75                TrieNode<Event<?>> root_d_b = root_d.getChild(new Event<String>("b"));
76                TrieNode<Event<?>> root_d_c = root_d.getChild(new Event<String>("c"));
77                TrieNode<Event<?>> root_d_d = root_d.getChild(new Event<String>("d"));
78                TrieNode<Event<?>> root_d_r = root_d.getChild(new Event<String>("r"));
79                TrieNode<Event<?>> root_r = root.getChild(new Event<String>("r"));
80                TrieNode<Event<?>> root_r_a = root_r.getChild(new Event<String>("a"));
81                TrieNode<Event<?>> root_r_a_a = root_r_a.getChild(new Event<String>("a"));
82                TrieNode<Event<?>> root_r_a_b = root_r_a.getChild(new Event<String>("b"));
83                TrieNode<Event<?>> root_r_a_c = root_r_a.getChild(new Event<String>("c"));
84                TrieNode<Event<?>> root_r_a_d = root_r_a.getChild(new Event<String>("d"));
85                TrieNode<Event<?>> root_r_a_r = root_r_a.getChild(new Event<String>("r"));
86                TrieNode<Event<?>> root_r_a_end = root_r_a.getChild(Event.ENDEVENT);
87                TrieNode<Event<?>> root_r_b = root_r.getChild(new Event<String>("b"));
88                TrieNode<Event<?>> root_r_c = root_r.getChild(new Event<String>("c"));
89                TrieNode<Event<?>> root_r_d = root_r.getChild(new Event<String>("d"));
90                TrieNode<Event<?>> root_r_r = root_r.getChild(new Event<String>("r"));
91                TrieNode<Event<?>> root_start = root.getChild(Event.STARTEVENT);
92                TrieNode<Event<?>> root_start_a = root_start.getChild(new Event<String>("a"));
93                TrieNode<Event<?>> root_start_a_a = root_start_a.getChild(new Event<String>("a"));
94                TrieNode<Event<?>> root_start_a_b = root_start_a.getChild(new Event<String>("b"));
95                TrieNode<Event<?>> root_start_a_c = root_start_a.getChild(new Event<String>("c"));
96                TrieNode<Event<?>> root_start_a_d = root_start_a.getChild(new Event<String>("d"));
97                TrieNode<Event<?>> root_start_a_r = root_start_a.getChild(new Event<String>("r"));
98                TrieNode<Event<?>> root_start_b = root_start.getChild(new Event<String>("b"));
99                TrieNode<Event<?>> root_start_c = root_start.getChild(new Event<String>("c"));
100                TrieNode<Event<?>> root_start_d = root_start.getChild(new Event<String>("d"));
101                TrieNode<Event<?>> root_start_r = root_start.getChild(new Event<String>("r"));
102               
103                assertEquals(numSequences*5, root_a.getCount());
104                assertNull(root_a_a);
105                assertEquals(numSequences*2, root_a_b.getCount());
106                assertNull(root_a_b_a);
107                assertNull(root_a_b_b);
108                assertNull(root_a_b_c);
109                assertNull(root_a_b_d);
110                assertEquals(numSequences*2, root_a_b_r.getCount());
111                assertEquals(numSequences*1, root_a_c.getCount());
112                assertEquals(numSequences*1, root_a_c_a.getCount());
113                assertNull(root_a_c_b);
114                assertNull(root_a_c_c);
115                assertNull(root_a_c_d);
116                assertNull(root_a_c_r);
117                assertEquals(numSequences*1, root_a_d.getCount());
118                assertEquals(numSequences*1, root_a_d_a.getCount());
119                assertNull(root_a_d_b);
120                assertNull(root_a_d_c);
121                assertNull(root_a_d_d);
122                assertNull(root_a_d_r);
123                assertNull(root_a_r);
124               
125                assertEquals(numSequences*2, root_b.getCount());
126                assertNull(root_b_a);
127                assertNull(root_b_b);
128                assertNull(root_b_c);
129                assertNull(root_b_d);
130                assertEquals(numSequences*2, root_b_r.getCount());
131                assertEquals(numSequences*2, root_b_r_a.getCount());
132                assertNull(root_b_r_b);
133                assertNull(root_b_r_c);
134                assertNull(root_b_r_d);
135                assertNull(root_b_r_r);
136               
137                assertEquals(numSequences*1, root_c.getCount());
138                assertEquals(numSequences*1, root_c_a.getCount());
139                assertNull(root_c_a_a);
140                assertNull(root_c_a_b);
141                assertNull(root_c_a_c);
142                assertEquals(numSequences*1, root_c_a_d.getCount());
143                assertNull(root_c_a_r);
144                assertNull(root_c_b);
145                assertNull(root_c_c);
146                assertNull(root_c_d);
147                assertNull(root_c_r);
148               
149                assertEquals(numSequences*1, root_d.getCount());
150                assertEquals(numSequences*1, root_d_a.getCount());
151                assertNull(root_d_a_a);
152                assertEquals(numSequences*1, root_d_a_b.getCount());
153                assertNull(root_d_a_c);
154                assertNull(root_d_a_d);
155                assertNull(root_d_a_r);
156                assertNull(root_d_b);
157                assertNull(root_d_c);
158                assertNull(root_d_d);
159                assertNull(root_d_r);
160               
161                assertEquals(numSequences*2, root_r.getCount());
162                assertEquals(numSequences*2, root_r_a.getCount());
163                assertNull(root_r_a_a);
164                assertNull(root_r_a_b);
165                assertEquals(numSequences*1, root_r_a_c.getCount());
166                assertNull(root_r_a_d);
167                assertNull(root_r_a_r);
168                assertEquals(numSequences*1, root_r_a_end.getCount());
169                assertNull(root_r_b);
170                assertNull(root_r_c);
171                assertNull(root_r_d);
172                assertNull(root_r_r);
173               
174                assertEquals(numSequences*1, root_start.getCount());
175                assertEquals(numSequences*1, root_start_a.getCount());
176                assertNull(root_start_a_a);
177                assertEquals(numSequences*1, root_start_a_b.getCount());
178                assertNull(root_start_a_c);
179                assertNull(root_start_a_d);
180                assertNull(root_start_a_r);
181                assertNull(root_start_b);
182                assertNull(root_start_c);
183                assertNull(root_start_d);
184                assertNull(root_start_r);
185               
186                // check if leafs are really leafs
187                assertTrue(root_a_b_r.isLeaf());
188                assertTrue(root_a_c_a.isLeaf());
189                assertTrue(root_a_d_a.isLeaf());
190                assertTrue(root_b_r_a.isLeaf());
191                assertTrue(root_c_a_d.isLeaf());
192                assertTrue(root_d_a_b.isLeaf());
193                assertTrue(root_r_a_c.isLeaf());
194                assertTrue(root_r_a_end.isLeaf());
195        }
196       
197        private static void assertCollectionContent(Collection<?> c1, Collection<?> c2) {
198                assertEquals(c1.size(), c2.size());
199                for( Object obj : c1 ) {
200                        assertTrue(c2.contains(obj));
201                }
202        }
203       
204        @Test
205        public void testGenerateSequences_1()
206                throws Exception {
207                int markovOrder = 2;
208                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
209                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
210                sequences.add(sequence);
211                fixture.train(sequences);
212                int length = 2;
213               
214                Collection<List<Event<?>>> expected = new HashSet<List<Event<?>>>();
215                ArrayList<Event<?>> list;
216                list = new ArrayList<Event<?>>();
217                list.add(new Event<String>("a"));
218                list.add(Event.ENDEVENT);
219                expected.add(list);
220                list = new ArrayList<Event<?>>();
221                list.add(new Event<String>("a"));
222                list.add(new Event<String>("b"));
223                expected.add(list);
224                list = new ArrayList<Event<?>>();
225                list.add(new Event<String>("a"));
226                list.add(new Event<String>("c"));
227                expected.add(list);
228                list = new ArrayList<Event<?>>();
229                list.add(new Event<String>("a"));
230                list.add(new Event<String>("d"));
231                expected.add(list);
232                list = new ArrayList<Event<?>>();
233                list.add(new Event<String>("b"));
234                list.add(new Event<String>("r"));
235                expected.add(list);
236                list = new ArrayList<Event<?>>();
237                list.add(new Event<String>("c"));
238                list.add(new Event<String>("a"));
239                expected.add(list);
240                list = new ArrayList<Event<?>>();
241                list.add(new Event<String>("d"));
242                list.add(new Event<String>("a"));
243                expected.add(list);
244                list = new ArrayList<Event<?>>();
245                list.add(new Event<String>("r"));
246                list.add(new Event<String>("a"));
247                expected.add(list);
248                list = new ArrayList<Event<?>>();
249                list.add(Event.STARTEVENT);
250                list.add(new Event<String>("a"));
251                expected.add(list);
252
253               
254                Collection<List<? extends Event<?>>> result = fixture.generateSequences(length);
255
256                assertCollectionContent(expected, result);
257        }
258
259        @Test
260        public void testGenerateSequences_2()
261                throws Exception {
262                int markovOrder = 2;
263                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
264                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
265                sequences.add(sequence);
266                fixture.train(sequences);
267                int length = 3;
268               
269                Collection<List<Event<?>>> expected = new HashSet<List<Event<?>>>();
270                ArrayList<Event<?>> list;
271                list = new ArrayList<Event<?>>();
272                list.add(Event.STARTEVENT);
273                list.add(new Event<String>("a"));
274                list.add(Event.ENDEVENT);
275                expected.add(list);
276                list = new ArrayList<Event<?>>();
277                list.add(Event.STARTEVENT);
278                list.add(new Event<String>("a"));
279                list.add(new Event<String>("b"));
280                expected.add(list);
281                list = new ArrayList<Event<?>>();
282                list.add(Event.STARTEVENT);
283                list.add(new Event<String>("a"));
284                list.add(new Event<String>("c"));
285                expected.add(list);
286                list = new ArrayList<Event<?>>();
287                list.add(Event.STARTEVENT);
288                list.add(new Event<String>("a"));
289                list.add(new Event<String>("d"));
290                expected.add(list);
291
292                Collection<List<? extends Event<?>>> result = fixture.generateSequences(length, true);
293
294                assertCollectionContent(expected, result);
295        }
296
297        @Test( expected = java.security.InvalidParameterException.class )
298        public void testGenerateSequences_3()
299                throws Exception {
300                int markovOrder = 2;
301                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
302                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
303                sequences.add(sequence);
304                fixture.train(sequences);
305                int length = 0;
306
307                fixture.generateSequences(length, false);
308        }
309
310        @Test
311        public void testGenerateValidSequences_1()
312                throws Exception {
313                int markovOrder = 2;
314                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
315                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
316                sequences.add(sequence);
317                fixture.train(sequences);
318                int length = 5;
319               
320                Collection<List<Event<?>>> expected = new HashSet<List<Event<?>>>();
321                ArrayList<Event<?>> list;
322                list = new ArrayList<Event<?>>();
323                list.add(Event.STARTEVENT);
324                list.add(new Event<String>("a"));
325                list.add(new Event<String>("c"));
326                list.add(new Event<String>("a"));
327                list.add(Event.ENDEVENT);
328                expected.add(list);
329                list = new ArrayList<Event<?>>();
330                list.add(Event.STARTEVENT);
331                list.add(new Event<String>("a"));
332                list.add(new Event<String>("d"));
333                list.add(new Event<String>("a"));
334                list.add(Event.ENDEVENT);
335                expected.add(list);
336
337                Collection<List<? extends Event<?>>> result = fixture.generateValidSequences(length);
338
339                assertCollectionContent(expected, result);
340        }
341
342        @Test(expected = java.security.InvalidParameterException.class )
343        public void testGenerateValidSequences_2()
344                throws Exception {
345                int markovOrder = 2;
346                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
347                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
348                sequences.add(sequence);
349                fixture.train(sequences);
350                int length = 0;
351
352                fixture.generateValidSequences(length);
353        }
354       
355        @Test
356        public void testGetEvents_1()
357                throws Exception {
358                int markovOrder = 2;
359                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
360                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
361                sequences.add(sequence);
362
363                fixture.train(sequences);
364
365                Collection<? extends Event<?>> result = fixture.getEvents();
366
367                assertCollectionContent(symbols, result);
368        }
369       
370        @Test
371        public void testGetEvents_2()
372                throws Exception {
373                int markovOrder = 2;
374                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
375               
376                Collection<? extends Event<?>> result = fixture.getEvents();
377
378                assertCollectionContent(new HashSet<Event<?>>(), result);
379        }
380
381        @Test
382        public void testGetNumFOMStates_1()
383                throws Exception {
384                int markovOrder = 2;
385                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
386                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
387                sequences.add(sequence);
388
389                fixture.train(sequences);
390
391                int result = fixture.getNumFOMStates();
392
393                assertEquals(10, result);
394        }
395       
396        @Test
397        public void testGetNumFOMStates_2()
398                throws Exception {
399                int markovOrder = 2;
400                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());;
401
402                int result = fixture.getNumFOMStates();
403
404                assertEquals(0, result);
405        }
406       
407        @Test
408        public void testGetNumSymbols_1()
409                throws Exception {
410                int markovOrder = 2;
411                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
412                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
413                sequences.add(sequence);
414                fixture.train(sequences);
415
416                int result = fixture.getNumSymbols();
417
418                assertEquals(7, result);
419        }
420       
421        @Test
422        public void testGetNumSymbols_2()
423                throws Exception {
424                int markovOrder = 2;
425                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
426
427                int result = fixture.getNumSymbols();
428
429                assertEquals(0, result);
430        }
431
432        @Test
433        public void testGetNumTransitions_1()
434                throws Exception {
435                int markovOrder = 2;
436                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
437                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
438                sequences.add(sequence);
439                fixture.train(sequences);
440               
441                int result = fixture.getNumTransitions();
442
443                assertEquals(11, result);
444        }
445       
446        @Test
447        public void testGetNumTransitions_2()
448                throws Exception {
449                int markovOrder = 2;
450                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
451
452                int result = fixture.getNumTransitions();
453
454                assertEquals(0, result);
455        }
456
457        @Test
458        public void testTrain_1 ()
459                throws Exception {
460                int markovOrder = 2;
461                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
462                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
463                sequences.add(sequence);
464
465                fixture.train(sequences);
466               
467                assertCollectionContent(symbols, fixture.getEvents());
468               
469                assertTrieStructure(fixture.trie, 1);   }
470       
471        @Test
472        public void testTrain_2 ()
473                throws Exception {
474                int markovOrder = 2;
475                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
476                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
477                sequences.add(sequence);
478                sequences.add(sequence);
479
480                fixture.train(sequences);
481               
482                assertCollectionContent(symbols, fixture.getEvents());
483               
484                assertTrieStructure(fixture.trie, 2);
485        }
486       
487        @Test
488        public void testUpdate_1()
489                throws Exception {
490                int markovOrder = 2;
491                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
492                Collection<List<? extends Event<?>>> sequences = new ArrayList<List<? extends Event<?>>>();
493                sequences.add(sequence);
494                fixture.train(sequences);
495               
496                fixture.update(sequences);
497
498                assertCollectionContent(symbols, fixture.getEvents());
499                assertTrieStructure(fixture.trie, 2);
500        }
501
502        @Test
503        public void testUpdate_2()
504                throws Exception {
505                int markovOrder = 2;
506                MockTrieBasedModel fixture = new MockTrieBasedModel(markovOrder, new Random());
507                Collection<List<? extends Event<?>>> sequences = null;
508                fixture.trie = null;
509
510                fixture.update(sequences);
511               
512                assertNull(fixture.trie);
513        }
514
515        @Before
516        public void setUp()
517                throws Exception {
518                sequence = new ArrayList<Event<?>>();
519                sequence.add(new Event<String>("a"));
520                sequence.add(new Event<String>("b"));
521                sequence.add(new Event<String>("r"));
522                sequence.add(new Event<String>("a"));
523                sequence.add(new Event<String>("c"));
524                sequence.add(new Event<String>("a"));
525                sequence.add(new Event<String>("d"));
526                sequence.add(new Event<String>("a"));
527                sequence.add(new Event<String>("b"));
528                sequence.add(new Event<String>("r"));
529                sequence.add(new Event<String>("a"));
530               
531                symbols = new HashSet<Event<?>>();
532                symbols.add(new Event<String>("a"));
533                symbols.add(new Event<String>("b"));
534                symbols.add(new Event<String>("c"));
535                symbols.add(new Event<String>("d"));
536                symbols.add(new Event<String>("r"));
537                symbols.add(Event.STARTEVENT);
538                symbols.add(Event.ENDEVENT);
539        }
540
541        @After
542        public void tearDown()
543                throws Exception {
544                // Add additional tear down code here
545        }
546
547        public static void main(String[] args) {
548                new org.junit.runner.JUnitCore().run(TrieBasedModelTest.class);
549        }
550}
Note: See TracBrowser for help on using the repository browser.