Example #1
0
        public static bool Test()
        {
            var firstCase   = "KAPKAPKAP$";
            var firstAnswer = "PKKKPP$AAA";

            if (!String.Equals(BWT.Direct(firstCase), firstAnswer))
            {
                return(false);
            }
            if (!String.Equals(BWT.Inverse(firstAnswer) + "$", firstCase))
            {
                return(false);
            }
            var secondCase   = "ANANAS$";
            var secondAnswer = "S$NNAAA";

            if (!String.Equals(BWT.Direct(secondCase), secondAnswer))
            {
                return(false);
            }
            if (!String.Equals(BWT.Inverse(secondAnswer) + "$", secondCase))
            {
                return(false);
            }
            var thirdCase   = "banana$";
            var thirdAnswer = "annb$aa";

            if (!String.Equals(BWT.Direct(thirdCase), thirdAnswer))
            {
                return(false);
            }
            if (!String.Equals(BWT.Inverse(thirdAnswer) + "$", thirdCase))
            {
                return(false);
            }
            return(true);
        }