Index: trunk/autoquest-core-usageprofiles-test/src/test/java/de/ugoe/cs/autoquest/usageprofiles/TrieTest.java
===================================================================
--- trunk/autoquest-core-usageprofiles-test/src/test/java/de/ugoe/cs/autoquest/usageprofiles/TrieTest.java	(revision 927)
+++ trunk/autoquest-core-usageprofiles-test/src/test/java/de/ugoe/cs/autoquest/usageprofiles/TrieTest.java	(revision 1060)
@@ -75,6 +75,11 @@
 	@Test(expected = java.lang.IllegalArgumentException.class)
 	public void testTrie_3() throws Exception {
-		new Trie<String>(null);
-	}
+		new Trie<String>((SymbolComparator<String>) null);
+	}
+
+        @Test(expected = java.lang.IllegalArgumentException.class)
+        public void testTrie_4() throws Exception {
+                new Trie<String>((Trie<String>) null);
+        }
 
 	@Test
@@ -240,4 +245,81 @@
 		assertEquals(0, result.size());
 	}
+
+        @Test
+        public void testGetSequencesWithMostOccurrences_1() throws Exception {
+                Trie<String> fixture = new Trie<String>();
+                fixture.train(sequence, 3);
+                
+                List<String> expected = new ArrayList<String>();
+                expected.add("a");
+
+                Collection<List<String>> result = fixture.getSequencesWithMostOccurrences(1);
+
+                assertEquals(1, result.size());
+                ListAssert.assertEquals(expected, result.iterator().next());
+        }
+
+        @Test
+        public void testGetSequencesWithMostOccurrences_2() throws Exception {
+                Trie<String> fixture = new Trie<String>();
+                fixture.train(sequence, 3);
+                
+                Collection<List<String>> result = fixture.getSequencesWithMostOccurrences(2);
+
+                assertEquals(5, result.size());
+                
+                List<String> expected = new ArrayList<String>();
+                expected.add("a");
+                expected.add("b");
+                ListAssert.assertContains((List<List<String>>) result, expected);
+                
+                expected.add("r");
+                ListAssert.assertContains((List<List<String>>) result, expected);
+                
+                expected.clear();
+                expected.add("b");
+                expected.add("r");
+                ListAssert.assertContains((List<List<String>>) result, expected);
+                
+                expected.add("a");
+                ListAssert.assertContains((List<List<String>>) result, expected);
+                
+                expected.clear();
+                expected.add("r");
+                expected.add("a");
+                ListAssert.assertContains((List<List<String>>) result, expected);
+        }
+
+        @Test
+        public void testGetSequencesWithMostOccurrences_3() throws Exception {
+                Trie<String> fixture = new Trie<String>();
+                fixture.train(sequence, 3);
+                
+                Collection<List<String>> result = fixture.getSequencesWithMostOccurrences(3);
+
+                assertEquals(2, result.size());
+                
+                List<String> expected = new ArrayList<String>();
+                expected.add("a");
+                expected.add("b");
+                expected.add("r");
+                ListAssert.assertContains((List<List<String>>) result, expected);
+                
+                expected.clear();
+                expected.add("b");
+                expected.add("r");
+                expected.add("a");
+                ListAssert.assertContains((List<List<String>>) result, expected);
+        }
+
+        @Test
+        public void testGetSequencesWithMostOccurrences_4() throws Exception {
+                Trie<String> fixture = new Trie<String>();
+                fixture.train(sequence, 3);
+                
+                Collection<List<String>> result = fixture.getSequencesWithMostOccurrences(4);
+
+                assertEquals(0, result.size());
+        }
 
 	@Test
