public void DirectoryExists_WhenDirectoryExists_ReturnsTrue()
        {
            //arrange
            string directory = _fileOperations.ApplicationBasePath(TestUtilities.APPLICATION_DIRECTORY);

            //act
            bool directoryExists = _fileOperations.DirectoryExists(directory);

            //assert
            Assert.True(directoryExists);
        }
Esempio n. 2
0
        public void ProgramLoop_WhenPuzzleDirectoryDoesNotExist_ThrowsArgumentException(string directory)
        {
            //arrange
            string            fullPath          = $"{_fileOperations.ApplicationBasePath("WordSearch")}{Path.DirectorySeparatorChar}{directory}";
            string            expectedMessage   = $"directory does not exist: {fullPath}";
            WordSearchProgram wordSearchProgram = new WordSearchProgram(_consoleWrapper, _fileOperations, _wordFinder, _searchOrientationManager);

            //act & assert
            var exception = Assert.Throws <ArgumentException>(() => wordSearchProgram.ProgramLoop(directory));

            Assert.Equal(expectedMessage, exception.Message);
        }
 public FileOperationsUnitTests()
 {
     _testUtilities     = new TestUtilities();
     _fileOperations    = new FileOperations();
     _testDirectoryPath = $"{_fileOperations.ApplicationBasePath(TestUtilities.APPLICATION_DIRECTORY)}{Path.DirectorySeparatorChar}{TestUtilities.TEST_PUZZLES_DIRECTORY}";
     _testFilePath      = $"{_testDirectoryPath}{Path.DirectorySeparatorChar}wordsearch.txt";
 }
        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);
        }