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) })); }
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))); } }
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(); } }
public static void TestPalindrome4() { var s = "AAAAAAAAAA"; Assert.That(PalindromesManacher.LongestPalindromes(s), Is.EqualTo(new Range(0, 10))); }
public static void TestPalindrome3() { Assert.Throws <ArgumentNullException>(() => PalindromesManacher.LongestPalindromes(null)); }