### Question:
Trie { protected Trie() {} protected  Trie();  Trie(boolean forward); TrieResult<T>[] getAll(CharSequence key, int from); int getCells(); int getCellsPnt(); int getCellsVal(); T getFully(CharSequence key, int from, int keyLength); T getFully(CharSequence key); TrieResult<T> getLastOnPath(CharSequence key); TrieResult<T> getLastOnPath(CharSequence key,
                                       int from); abstract void store(DataOutput os); void add(CharSequence key, T cmd); void addIfNotExist(CharSequence key, T cmd); void printInfo(PrintStream out, CharSequence prefix);  }### Answer:
@Test public void testTrie() { Trie t = new StringValueTrie(true); String[] keys = {"티라노사우르스", "스테고사우르스", "트리케라톱스"}; String[] vals = {"육식공룡", "초식공룡", "초식공룡"}; for(int i=0; i<keys.length; i++) t.add(keys[i], vals[i]); Assert.assertEquals(0, t.root); Assert.assertEquals(18, t.rows.size()); Assert.assertEquals(2, t.cmds.size()); }