public void ScanSubstring_NoPalindromes_AddsNoResults()
        {
            var mockFinder = new Mock <IPalindromeFinder>();

            mockFinder.Setup(foo => foo.IsPalindrome(It.IsAny <String>())).Returns(false);
            var searcher = new PalindromeSearcher(mockFinder.Object);
            var results  = new List <PalindromeResult>();

            searcher.ScanSubstring("12345", 4, 1, results);

            Assert.AreEqual(0, results.Count);
            mockFinder.Verify(foo => foo.IsPalindrome(It.IsAny <String>()), Times.AtLeastOnce());
        }
        public void ScanSubstring_HasPalindromes_AddsSingleResult()
        {
            var mockFinder = new Mock <IPalindromeFinder>();

            mockFinder.Setup(foo => foo.IsPalindrome(It.IsAny <String>())).Returns(true);
            var searcher = new PalindromeSearcher(mockFinder.Object);
            var results  = new List <PalindromeResult>();

            searcher.ScanSubstring("1234321", 4, 1, results);

            Assert.AreEqual(1, results.Count);
            mockFinder.Verify(foo => foo.IsPalindrome(It.IsAny <String>()), Times.Once());
        }