1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- XOWA: the XOWA Offline Wiki Application
- Copyright (C) 2012-2017 gnosygnu@gmail.com
- XOWA is licensed under the terms of the General Public License (GPL) Version 3,
- or alternatively under the terms of the Apache License Version 2.0.
- You may use XOWA according to either of these licenses as is most appropriate
- for your project on a case-by-case basis.
- The terms of each license can be found in the source code repository:
- GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt
- Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
- */
- package gplx.gfml; import gplx.*;
- import org.junit.*;
- import gplx.core.texts.*; /*CharStream*/
- public class z012_GfmlTrie_tst {
- @Before public void setup() {
- trie = GfmlTrie.new_();
- } GfmlTrie trie;
- @Test public void Null() {
- tst_FindMatch_first("", null);
- tst_FindMatch_first("{", null);
- }
- @Test public void OneChar() {
- trie.Add("{", "val0");
- tst_FindMatch_first("{", "val0");
- tst_FindMatch_first(":", null);
- }
- @Test public void TwoChar() {
- trie.Add("/*", "val0");
- tst_FindMatch_first("/*", "val0");
- tst_FindMatch_first("//", null);
- }
- @Test public void ManySym() {
- trie.Add(":", "val0");
- trie.Add("{", "val1");
- tst_FindMatch_first(":", "val0");
- tst_FindMatch_first("{", "val1");
- tst_FindMatch_first("-", null);
- }
- @Test public void Overlap_1_2() {
- trie.Add("[", "val0");
- trie.Add("[:", "val1");
- tst_FindMatch_first("[", "val0");
- tst_FindMatch_first("[:", "val1");
- tst_FindMatch_first("[-", "val0");
- tst_FindMatch_first(":", null);
- }
- @Test public void Overlap_2_1() {
- trie.Add("[:", "val0");
- trie.Add("[", "val1");
- tst_FindMatch_first("[:", "val0");
- tst_FindMatch_first("[", "val1");
- tst_FindMatch_first("[-", "val1");
- tst_FindMatch_first(":", null);
- }
- @Test public void Overlap_1_1() {
- trie.Add("[", "val0");
- trie.Add("[", "val1");
- tst_FindMatch_first("[", "val1"); // return last added
- tst_FindMatch_first(":", null);
- }
- void tst_FindMatch_first(String text, String expd) {
- CharStream stream = CharStream.pos0_(text);
- String actl = (String)trie.FindMatch(stream);
- Tfds.Eq(expd, actl);
- }
- }
|