public void FindLines_EmptyFile_EmptyArr() { //arrange string[] lines = { }; string fileText = String.Join("\n", lines); string target = "Match"; MemoryStream stream = new MemoryStream( Encoding.Default.GetBytes(fileText)); //act FileParser file = new FileParser(); string[] actual = file.FindLines( new StreamReader(stream), target); //assert Assert.Empty(actual); }
public void FindLines_2Matches_SecondLineCorrect() { //arrange string[] lines = { "Match. Test string" , "Match. Lorem lipsum string" , "Without. Lorem" }; string fileText = String.Join("\n", lines); string target = "Match"; MemoryStream stream = new MemoryStream( Encoding.Default.GetBytes(fileText)); //act FileParser file = new FileParser(); string[] actual = file.FindLines( new StreamReader(stream), target); //assert Assert.Equal(lines[1], actual[1]); }
public void FindLines_2Matches_Length2() { //arrange string[] lines = { "Match. Test string" , "Match. Test string" , "Without. Lorem" }; string fileText = String.Join("\n", lines); string target = "Match"; int expected = 2; MemoryStream stream = new MemoryStream( Encoding.Default.GetBytes(fileText)); //act FileParser file = new FileParser(); string[] actual = file.FindLines( new StreamReader(stream), target); //assert Assert.Equal(expected, actual.Length); }
public static void ExecuteProgram(string[] args) { bool isNewTry = false; int result; do { if (isNewTry) { result = ConsoleUI.AskMenuItem("Choose mode", new string[] { "Search string in file", "replacing a line in a file" }); switch (result) { case 1: args = ConsoleUI.AskInputParams( InputData.MinCountParams); break; case 2: args = ConsoleUI.AskInputParams( InputData.MaxCountParams); break; } isNewTry = false; } if (!Validator.IsValid(args)) { ConsoleUI.ShowMessage("Your data is not valid"); if (!ConsoleUI.AskСonfirmation("Do you want to retype them?" , new string[] { "YES", "Y" })) { break; } result = ConsoleUI.AskMenuItem("Choose board type", new string[] { "Search string in file", "replacing a line in a file" }); switch (result) { case 1: args = ConsoleUI.AskInputParams( InputData.MinCountParams); break; case 2: args = ConsoleUI.AskInputParams( InputData.MaxCountParams); break; } continue; } InputData inputData = Parser.Parse(args); using (FileParser parser = new FileParser()) { parser.OpenFile(inputData.PathToFile); switch (inputData.Mode) { case InputData.ProgramMode.SearchStr: string[] match = parser.FindLines(inputData.TargetStr); ConsoleUI.PrintArray("Found strings: ", match); break; case InputData.ProgramMode.ReplaceStr: parser.ReplaceLines(inputData.TargetStr, inputData.ReplaceStr); parser.ReplaceAndDeleteTempFile(); break; } } if (ConsoleUI.AskСonfirmation("Do you want to continue?", new string[] { "YES", "Y" })) { isNewTry = true; } else { break; } } while (true); }
public static void ShowConsoleMenu(string[] inputParams) { bool isNewTry = false; int result; do { if (isNewTry) { result = AskMenuItem("Choose mode", new string[] { "Search string in file", "replacing a line in a file" }); switch (result) { case 1: inputParams = AskInputParams( InputData.MinCountParams); break; case 2: inputParams = AskInputParams( InputData.MaxCountParams); break; } isNewTry = false; } if (!Validator.IsValid(inputParams)) { Console.WriteLine("Your data is not valid"); if (!AskBoolValue("Do you want to retype them?", new string[] { "YES", "Y" })) { break; } result = AskMenuItem("Choose board type", new string[] { "Search string in file", "replacing a line in a file" }); switch (result) { case 1: inputParams = AskInputParams( InputData.MinCountParams); break; case 2: inputParams = AskInputParams( InputData.MaxCountParams); break; } continue; } InputData inputData = Parser.Parse(inputParams); using (FileParser parser = new FileParser()) { parser.OpenFile(inputData.PathToFile); switch (inputData.Mode) { case InputData.ProgramMode.SearchStr: string[] match = parser.FindLines(inputData.TargetStr); PrintArray("Found strings: ", match); break; case InputData.ProgramMode.ReplaceStr: parser.ReplaceLines(inputData.TargetStr, inputData.ReplaceStr); break; } } if (AskBoolValue("Do you want to continue?", new string[] { "YES", "Y" })) { isNewTry = true; } else { break; } } while (true); }