public void CheckPalindrome(PalindromeChecker game, string input, int distanceFromCenter) { bool isPalindrome = false; int halfway = input.Length / 2; if (input.Length % 2 == 0) //EVEN LENGTH { if (distanceFromCenter == halfway && distanceFromCenter != 0) { game.IsPalindrome = true; } else if (input[halfway + distanceFromCenter] == input[halfway - 1 - distanceFromCenter] && distanceFromCenter < halfway) { distanceFromCenter++; game.CheckPalindrome(game, input, distanceFromCenter); } } else if (input.Length % 2 == 1) //ODD LENGTH { if (input[halfway + distanceFromCenter] == input[halfway - distanceFromCenter] && distanceFromCenter < halfway) { distanceFromCenter++; game.CheckPalindrome(game, input, distanceFromCenter); } else if (distanceFromCenter == halfway && distanceFromCenter != 0) { game.IsPalindrome = true; } } }
public static void Main() { PalindromeChecker game = new PalindromeChecker(); Console.WriteLine("Welcome to the palindrome checker!"); Console.WriteLine("Enter a phrase to check:"); string input = Console.ReadLine(); int distanceFromCenter = 0; game.CheckPalindrome(game, input, distanceFromCenter); if (game.IsPalindrome) { Console.WriteLine("Your phrase is a palindrome!"); } else { Console.WriteLine("Your phrase is not a palindrome."); Console.WriteLine("Want to check another phrase? (Enter Y / N)"); string newGame = Console.ReadLine(); if (newGame[0].ToString().ToUpper() == "Y") { Main(); } else { Console.WriteLine("Goodbye."); } } }
public void IsStarsPalindrome() { // Arrange var palindrome = "stars"; var expectedResult = false; var checkWord = new PalindromeChecker(); // Actual var actualResult = checkWord.CheckPalindrome(palindrome); // Assert Assert.Equal(expectedResult, actualResult); }
public void IsPalindrome3() { // Arrange var palindrome = "Some men interpret nine memos"; var expectedResult = true; var checkWord = new PalindromeChecker(); // Actual var actualResult = checkWord.CheckPalindrome(palindrome); // Assert Assert.Equal(expectedResult, actualResult); }
public void IsPalindrome2() { // Arrange var palindrome = "O, a kak Uwakov lil vo kawu kakao!"; var expectedResult = true; var checkWord = new PalindromeChecker(); // Actual var actualResult = checkWord.CheckPalindrome(palindrome); // Assert Assert.Equal(expectedResult, actualResult); }
public static void Main() { PalindromeChecker game = new PalindromeChecker(); Console.WriteLine("Enter a phrase to see if it's a palindrome:"); string input = Console.ReadLine(); int distanceFromCenter = 0; game.CheckPalindrome(input, distanceFromCenter); if (game.GetIsPalindrome()) { Console.WriteLine("Your phrase is a palindrome!"); OfferNewGame(); } else { Console.WriteLine("Your phrase is not a palindrome."); OfferNewGame(); } }