Exemplo n.º 1
0
        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);
        }