Пример #1
0
        public static void TestPalindrome1()
        {
            var s = "sqrrqabccbatudefggfedvwhijkllkjihxymnnmzpop";

            Assert.That(PalindromesManacher.AllPalindromes(s)
                        .OrderByDescending(range => range.Length)
                        .Take(3), Is.EquivalentTo(new[] { new Range(23, 10), new Range(13, 8), new Range(5, 6) }));
        }
Пример #2
0
        public static void TestPalindromesEqualsPalindromesSlow()
        {
            var random = new Random();

            for (var i = 0; i < 1000; i++)
            {
                var s = GenerateString(random, random.Next(10), 100);
                Assert.That(PalindromesManacher.AllPalindromes(s), Is.EquivalentTo(Palindromes(s)));
            }
        }
Пример #3
0
        private static void Main()
        {
            while (true)
            {
                Console.WriteLine("Enter a string to search for palindromes or 'q' to exit:");
                var s = Console.ReadLine();
                if (s == "q")
                {
                    return;
                }
                Console.Write("# to find: ");


                foreach (var range in PalindromesManacher.AllPalindromes(s))
                {
                    Console.WriteLine($"Text: {s.Substring(range.Index, range.Length)}, {range}");
                }

                Console.WriteLine();
            }
        }
Пример #4
0
        public static void TestPalindrome4()
        {
            var s = "AAAAAAAAAA";

            Assert.That(PalindromesManacher.LongestPalindromes(s), Is.EqualTo(new Range(0, 10)));
        }
Пример #5
0
 public static void TestPalindrome3()
 {
     Assert.Throws <ArgumentNullException>(() => PalindromesManacher.LongestPalindromes(null));
 }