static void Main(string[] args) { if (!Tests.Test()) { Console.WriteLine("The test was failled."); return; } else { Console.WriteLine("The test was passed."); } Console.WriteLine("Входные данные: "); char specialSymbol = '$'; var inputLine = Console.ReadLine() + specialSymbol; var outputLine = BWT.Direct(inputLine); var result = BWT.Inverse(outputLine); if (String.Equals(result + specialSymbol, inputLine)) { Console.WriteLine("All right. Good job!"); } else { Console.WriteLine("Oops... Error!\n"); } }
public static bool Test() { var firstCase = "KAPKAPKAP$"; var firstAnswer = "PKKKPP$AAA"; if (!String.Equals(BWT.Direct(firstCase), firstAnswer)) { return(false); } if (!String.Equals(BWT.Inverse(firstAnswer) + "$", firstCase)) { return(false); } var secondCase = "ANANAS$"; var secondAnswer = "S$NNAAA"; if (!String.Equals(BWT.Direct(secondCase), secondAnswer)) { return(false); } if (!String.Equals(BWT.Inverse(secondAnswer) + "$", secondCase)) { return(false); } var thirdCase = "banana$"; var thirdAnswer = "annb$aa"; if (!String.Equals(BWT.Direct(thirdCase), thirdAnswer)) { return(false); } if (!String.Equals(BWT.Inverse(thirdAnswer) + "$", thirdCase)) { return(false); } return(true); }