Trie { public boolean contains(String key) { return this.contains(key, true); }  void add(String key, T value); void remove(String key); void clear(); boolean isEmpty(); boolean contains(String key); boolean contains(String key, boolean requireValue); boolean contains(String key, T value); T get(String key); List<T> prefixSearch(String prefix); List<T> partialSearch(String key); T shortestMatch(String key); T longestMatch(String key);  }
@Test public void trie_contains_01() { Trie<Integer> trie = new Trie<>(); Assert.assertFalse(trie.contains("test")); }
@Test public void trie_contains_03() { Trie<Integer> trie = new Trie<>(); Assert.assertFalse(trie.contains(null)); Assert.assertTrue(trie.contains(null, false)); }
@Test public void trie_contains_04() { Trie<Integer> trie = new Trie<>(); Assert.assertFalse(trie.contains("")); Assert.assertTrue(trie.contains("", false)); }