public void GetSearchStringsAndGridFromPuzzleFile_WhenFileExistsInCorrectFormat_ReturnsFirstRowAsSearchStringAndAllOthersAsStringArray(string searchWords, string fileRowsDelimeteredArray, string puzzleFileName) { //arrange string workingDir = $"{_fileOperations.ApplicationBasePath(TestUtilities.APPLICATION_DIRECTORY)}{Path.DirectorySeparatorChar}{TEST_DIRECTORY}"; CreatePuzzleFile(workingDir, searchWords, fileRowsDelimeteredArray, puzzleFileName); //need to remove the commas to provide meaningful input to StringToGrid string[,] expectedGrid = _testUtilities.StringToGrid(fileRowsDelimeteredArray.Replace(",", "")); WordSearchProgramHelper wordSearchProgramHelper = new WordSearchProgramHelper(_consoleWrapper, _fileOperations, _wordFinder, _searchOrientationManager); //act var(searchString, grid) = wordSearchProgramHelper.ConvertPuzzleFileToSearchWordsAndGrid($"{workingDir}{Path.DirectorySeparatorChar}{puzzleFileName}"); //assert Assert.Equal(searchWords, searchString); Assert.Equal(expectedGrid, grid); }
public void WriteSolvedPuzzleCoordinatesToConsole_WhenSearchWordFound_CoordinatesWrittenToConsole(string searchWords, string fileRowsDelimeteredArray, string puzzleFileName, string expected) { //arrange expected = expected.Replace("{Environment.NewLine}", Environment.NewLine); string workingDir = $"{_fileOperations.ApplicationBasePath(TestUtilities.APPLICATION_DIRECTORY)}{Path.DirectorySeparatorChar}{TEST_DIRECTORY}"; CreatePuzzleFile(workingDir, searchWords, fileRowsDelimeteredArray, puzzleFileName); IConsoleWrapper consoleWrapper = new ConsoleWrapperMock(); WordSearchProgramHelper wordSearchProgramHelper = new WordSearchProgramHelper(consoleWrapper, _fileOperations, _wordFinder, _searchOrientationManager); Console.ForegroundColor = ConsoleColor.Gray; Console.BackgroundColor = ConsoleColor.Black; //act var(searchString, grid) = wordSearchProgramHelper.ConvertPuzzleFileToSearchWordsAndGrid($"{workingDir}{Path.DirectorySeparatorChar}{puzzleFileName}"); IGridManager gridManager = new GridManager(grid); wordSearchProgramHelper.WriteSolvedPuzzleCoordinatesToConsole(searchString, gridManager); var output = _consoleOuput.ToString(); //assert Assert.True(expected == _consoleOuput.ToString()); }