source: trunk/EventBenchCoreTest/src/de/ugoe/cs/eventbench/models/FirstOrderMarkovModelTest.java @ 344

Last change on this file since 344 was 344, checked in by sherbold, 13 years ago
  • Property svn:mime-type set to text/plain
File size: 2.0 KB
Line 
1package de.ugoe.cs.eventbench.models;
2
3import java.util.ArrayList;
4import java.util.Collection;
5import java.util.List;
6import java.util.Random;
7import org.junit.*;
8
9import de.ugoe.cs.eventbench.data.Event;
10import static org.junit.Assert.*;
11
12/**
13 * The class <code>FirstOrderMarkovModelTest</code> contains tests for the class
14 * <code>{@link FirstOrderMarkovModel}</code>.
15 *
16 * @author Steffen Herbold
17 * @version 1.0
18 */
19public class FirstOrderMarkovModelTest {
20
21        Collection<List<? extends Event<?>>> sequences;
22       
23        @Test
24        public void testFirstOrderMarkovModel_1() throws Exception {
25                Random r = new Random();
26
27                FirstOrderMarkovModel result = new FirstOrderMarkovModel(r);
28
29                assertNotNull(result);
30                assertEquals(r, result.r);
31                assertEquals(2, result.trieOrder);
32        }
33
34        @Test(expected = java.security.InvalidParameterException.class)
35        public void testFirstOrderMarkovModel_2() throws Exception {
36                new FirstOrderMarkovModel(null);
37        }
38       
39        @Test
40        public void testCalcEntropy() throws Exception {
41                Random r = new Random();
42                FirstOrderMarkovModel fixture = new FirstOrderMarkovModel(r);
43                fixture.train(sequences);
44               
45                double result = fixture.calcEntropy();
46               
47                assertEquals(0.7392d, result, 0.0001);
48        }
49       
50        @Before
51        public void setUp() throws Exception {
52                List<Event<?>> sequence = new ArrayList<Event<?>>();
53                sequence.add(new Event<String>("a"));
54                sequence.add(new Event<String>("b"));
55                sequence.add(new Event<String>("r"));
56                sequence.add(new Event<String>("a"));
57                sequence.add(new Event<String>("c"));
58                sequence.add(new Event<String>("a"));
59                sequence.add(new Event<String>("d"));
60                sequence.add(new Event<String>("a"));
61                sequence.add(new Event<String>("b"));
62                sequence.add(new Event<String>("r"));
63                sequence.add(new Event<String>("a"));
64
65                sequences = new ArrayList<List<? extends Event<?>>>();
66                sequences.add(sequence);
67        }
68
69        public static void main(String[] args) {
70                new org.junit.runner.JUnitCore().run(FirstOrderMarkovModelTest.class);
71        }
72}
Note: See TracBrowser for help on using the repository browser.