public void T_Abcabxabcz_MatchLength() { UTree uTree = new UTree("abcabxabcz"); int startingIndex = -1; int matchLength = uTree.Match(Util.StringToBytes("abc"), 64, out startingIndex); Assert.AreEqual(3, matchLength); Assert.IsTrue(startingIndex == 0 || startingIndex == 6); matchLength = uTree.Match(Util.StringToBytes("a"), 64, out startingIndex); Assert.AreEqual(1, matchLength); Assert.IsTrue(startingIndex == 0 || startingIndex == 3 || startingIndex == 6); matchLength = uTree.Match(Util.StringToBytes("abcz"), 64, out startingIndex); Assert.AreEqual(4, matchLength); Assert.IsTrue(startingIndex == 6); matchLength = uTree.Match(Util.StringToBytes("m"), 64, out startingIndex); Assert.AreEqual(-1, matchLength); Assert.IsTrue(startingIndex == -1); matchLength = uTree.Match(Util.StringToBytes("abcab"), 64, out startingIndex); Assert.AreEqual(5, matchLength); Assert.IsTrue(startingIndex == 0); matchLength = uTree.Match(Util.StringToBytes("bx"), 64, out startingIndex); Assert.AreEqual(2, matchLength); Assert.IsTrue(startingIndex == 4); matchLength = uTree.Match(Util.StringToBytes("cz"), 64, out startingIndex); Assert.AreEqual(2, matchLength); Assert.IsTrue(startingIndex == 8); matchLength = uTree.Match(Util.StringToBytes("z"), 64, out startingIndex); Assert.AreEqual(1, matchLength); Assert.IsTrue(startingIndex == 9); }