public void FindPalindromes_EmptyInputString_ThrowsArgumentException() { var mockFinder = new Mock <IPalindromeFinder>(); var searcher = new PalindromeSearcher(mockFinder.Object); searcher.FindPalindromes(String.Empty); }
public void FindPalindromes_OverlappingEvenPalindromes_FindsAllPalindromes() { var finder = new PalindromeFinder(); var searcher = new PalindromeSearcher(finder); var results = searcher.FindPalindromes("123321123"); Assert.AreEqual(2, results.Count); Assert.AreEqual(new PalindromeResult { Palindrome = "123321", StartIndex = 0, EndIndex = 5 }, results[0]); Assert.AreEqual(new PalindromeResult { Palindrome = "321123", StartIndex = 3, EndIndex = 8 }, results[1]); }
public void FindPalindromes_GivenInputExample_FindsAllPalindromes() { var finder = new PalindromeFinder(); var searcher = new PalindromeSearcher(finder); var results = searcher.FindPalindromes("sqrrqabccbatudefggfedvwhijkllkjihxymnnmzpop"); Assert.AreEqual(6, results.Count); Assert.AreEqual(new PalindromeResult { Palindrome = "hijkllkjih", StartIndex = 23, EndIndex = 32 }, results[0]); Assert.AreEqual(new PalindromeResult { Palindrome = "defggfed", StartIndex = 13, EndIndex = 20 }, results[1]); Assert.AreEqual(new PalindromeResult { Palindrome = "abccba", StartIndex = 5, EndIndex = 10 }, results[2]); }