public void GetPuzzleFilePathsFromPuzzleDirectory_WhenPuzzleDirectoryExistsAndContainsFiles_ListOfFilePathsReturned()
        {
            //arrange
            WordSearchProgramHelper wordSearchProgramHelper = new WordSearchProgramHelper(_consoleWrapper, _fileOperations, _wordFinder, _searchOrientationManager);

            //act
            var filePaths = wordSearchProgramHelper.GetPuzzleFilePathsFromPuzzleDirectory(TestUtilities.TEST_PUZZLES_DIRECTORY, 9);

            //assert
            Assert.True(filePaths.Length == 2);
        }
        public void GetPuzzleFilePathsFromPuzzleDirectory_WhenPuzzleDirectoryDoesNotExist_ListOfFilePathsReturned()
        {
            //arrange
            string directory       = "NODIRECTORY";
            string fullPath        = $"{_fileOperations.ApplicationBasePath("WordSearch")}{Path.DirectorySeparatorChar}{directory}";
            string expectedMessage = $"directory does not exist: {fullPath}";
            WordSearchProgramHelper wordSearchProgramHelper = new WordSearchProgramHelper(_consoleWrapper, _fileOperations, _wordFinder, _searchOrientationManager);

            //act & assert
            var exception = Assert.Throws <ArgumentException>(() => wordSearchProgramHelper.GetPuzzleFilePathsFromPuzzleDirectory(directory, 9));

            Assert.Equal(expectedMessage, exception.Message);
        }
예제 #3
0
        public void GetPuzzleFilePathsFromPuzzleDirectory_WhenPuzzleDirectoryDoesNotExist_ListOfFilePathsReturned()
        {
            //arrange
            Mock <IFileOperations> mockFileOperations = new Mock <IFileOperations>();
            string applicationBasePath = "basePath";
            bool   directoryExists     = false;

            mockFileOperations.Setup(m => m.ApplicationBasePath(It.IsAny <string>(), It.IsAny <string>())).Returns(() => applicationBasePath);
            mockFileOperations.Setup(m => m.DirectoryExists(It.IsAny <string>())).Returns(() => directoryExists);

            string directory       = "NODIRECTORY";
            string fullPath        = $"{applicationBasePath}{Path.DirectorySeparatorChar}{directory}";
            string expectedMessage = $"directory does not exist: {fullPath}";
            WordSearchProgramHelper wordSearchProgramHelper = new WordSearchProgramHelper(_consoleWrapper, mockFileOperations.Object, null, null);

            //act & assert
            var exception = Assert.Throws <ArgumentException>(() => wordSearchProgramHelper.GetPuzzleFilePathsFromPuzzleDirectory(directory, 9));

            Assert.Equal(expectedMessage, exception.Message);
        }
예제 #4
0
        public void GetPuzzleFilePathsFromPuzzleDirectory_WhenPuzzleDirectoryExistsAndContainsFiles_ListOfFilePathsReturned()
        {
            //arrange
            Mock <IFileOperations> mockFileOperations = new Mock <IFileOperations>();
            string applicationBasePath = "basePath";
            bool   directoryExists     = true;

            string[] directoryContents = new string[] { "one.txt", "two.txt", "three.txt" };
            mockFileOperations.Setup(m => m.ApplicationBasePath(It.IsAny <string>(), It.IsAny <string>())).Returns(() => applicationBasePath);
            mockFileOperations.Setup(m => m.DirectoryExists(It.IsAny <string>())).Returns(() => directoryExists);
            mockFileOperations.Setup(m => m.GetSortedDirectoryContents(It.IsAny <string>())).Returns(() => directoryContents);

            WordSearchProgramHelper wordSearchProgramHelper = new WordSearchProgramHelper(_consoleWrapper, mockFileOperations.Object, null, null);

            //act
            var filePaths = wordSearchProgramHelper.GetPuzzleFilePathsFromPuzzleDirectory(TestUtilities.TEST_PUZZLES_DIRECTORY, 9);

            //assert
            Assert.Equal(directoryContents, filePaths);
        }