public void FindPossibleSubstring_InvalidStartPosBeyondLastCharacter_ThrowsArgumentException()
        {
            var mockFinder = new Mock <IPalindromeFinder>();
            var searcher   = new PalindromeSearcher(mockFinder.Object);

            searcher.FindPossibleSubstring("12345", 5, 4);
        }
        public void FindPossibleSubstring_EndPosLowerThanStartPos_ThrowsArgumentException()
        {
            var mockFinder = new Mock <IPalindromeFinder>();
            var searcher   = new PalindromeSearcher(mockFinder.Object);

            searcher.FindPossibleSubstring("12345", 3, 2);
        }
        public void FindPossibleSubstring_NullInputString_ThrowsArgumentException()
        {
            var mockFinder = new Mock <IPalindromeFinder>();
            var searcher   = new PalindromeSearcher(mockFinder.Object);

            searcher.FindPossibleSubstring(String.Empty, 0, 1);
        }
        public void FindPossibleSubstring_ValidPossibleSubstringOutsideEndPosition_ReturnsMinusOne()
        {
            var mockFinder = new Mock <IPalindromeFinder>();
            var searcher   = new PalindromeSearcher(mockFinder.Object);

            var result = searcher.FindPossibleSubstring("123123", 0, 2);

            Assert.AreEqual(-1, result);
        }
        public void FindPossibleSubstring_ValidPossibleSubstring_ReturnsCorrectEndPosition()
        {
            var mockFinder = new Mock <IPalindromeFinder>();
            var searcher   = new PalindromeSearcher(mockFinder.Object);

            var result = searcher.FindPossibleSubstring("123123", 0, 4);

            Assert.AreEqual(3, result);
        }