作者 crossoverJie

:white_check_mark: Adding tests.

... ... @@ -18,6 +18,10 @@ public class TrieTree {
* 大小写都可保存
*/
private static final int CHILDREN_LENGTH = 26 * 2;
/**
* 存放的最大字符串长度
*/
private static final int MAX_CHAR_LENGTH = 16;
private static final char UPPERCASE_STAR = 'A';
... ... @@ -209,7 +213,7 @@ public class TrieTree {
public boolean isEnd = false;
/**
* 如果支持查询,则不需要存储数据
* 如果只是查询,则不需要存储数据
*/
public char data;
... ...
... ... @@ -46,6 +46,102 @@ public class TrieTreeTest {
}
@Test
public void prefixSea() throws Exception {
TrieTree trieTree = new TrieTree();
trieTree.insert("java");
trieTree.insert("jsf");
trieTree.insert("jsp");
trieTree.insert("javascript");
trieTree.insert("php");
String result ="";
List<String> ab = trieTree.prefixSearch("jav");
for (String s : ab) {
result += s+",";
System.out.println(s);
}
Assert.assertTrue(result.equals("java,javascript,"));
}
@Test
public void prefixSea2() throws Exception {
TrieTree trieTree = new TrieTree();
trieTree.insert("java");
trieTree.insert("jsf");
trieTree.insert("jsp");
trieTree.insert("javascript");
trieTree.insert("php");
String result ="";
List<String> ab = trieTree.prefixSearch("j");
for (String s : ab) {
result += s+",";
System.out.println(s);
}
Assert.assertTrue(result.equals("java,javascript,jsf,jsp,"));
}
@Test
public void prefixSea3() throws Exception {
TrieTree trieTree = new TrieTree();
trieTree.insert("java");
trieTree.insert("jsf");
trieTree.insert("jsp");
trieTree.insert("javascript");
trieTree.insert("php");
String result ="";
List<String> ab = trieTree.prefixSearch("js");
for (String s : ab) {
result += s+",";
System.out.println(s);
}
Assert.assertTrue(result.equals("jsf,jsp,"));
}
@Test
public void prefixSea4() throws Exception {
TrieTree trieTree = new TrieTree();
trieTree.insert("java");
trieTree.insert("jsf");
trieTree.insert("jsp");
trieTree.insert("javascript");
trieTree.insert("php");
String result ="";
List<String> ab = trieTree.prefixSearch("jav");
for (String s : ab) {
result += s+",";
System.out.println(s);
}
Assert.assertTrue(result.equals("java,javascript,"));
}
@Test
public void prefixSea5() throws Exception {
TrieTree trieTree = new TrieTree();
trieTree.insert("java");
trieTree.insert("jsf");
trieTree.insert("jsp");
trieTree.insert("javascript");
trieTree.insert("php");
String result ="";
List<String> ab = trieTree.prefixSearch("js");
for (String s : ab) {
result += s+",";
System.out.println(s);
}
Assert.assertTrue(result.equals("jsf,jsp,"));
}
@Test
public void prefixSearch() throws Exception {
TrieTree trieTree = new TrieTree();
trieTree.insert("abc");
... ... @@ -112,6 +208,19 @@ public class TrieTreeTest {
}
Assert.assertTrue(result.equals("Cde,"));
}
@Test
public void prefixSearch44() throws Exception {
TrieTree trieTree = new TrieTree();
trieTree.insert("a");
trieTree.insert("b");
trieTree.insert("c");
trieTree.insert("d");
trieTree.insert("e");
trieTree.insert("f");
trieTree.insert("g");
trieTree.insert("h");
}
@Test
public void prefixSearch5() throws Exception {
... ...