コード例 #1
0
        public void TempFolderFailsOnNullFileSystemTest()
        {
            const IFileSystem nullFileSystem = null;

            var exception = Assert.Throws <ArgumentNullException>
                            (
                () => { TempFolder.CleanFolder(nullFileSystem, AppKey); }
                            );

            Assert.AreEqual(@"fileSystem", exception.ParamName);
        }
コード例 #2
0
        public void TempFolderCleansNonexistentFolderTest()
        {
            var fileSystem = MockRepository.GenerateStrictMock <IFileSystem>();

            var tempFolder    = Path.GetTempPath();
            var appTempFolder = Path.Combine(tempFolder, AppKey);

            fileSystem.Stub(f => f.GetTempPath()).Return(tempFolder);
            fileSystem.Stub(f => f.DirectoryExists(appTempFolder)).Return(false);

            TempFolder.CleanFolder(fileSystem, AppKey);
        }
コード例 #3
0
        public void TempFolderFailsOnEmptyAppKeyTest()
        {
            var fileSystem = MockRepository.GenerateStrictMock <IFileSystem>();

            var exception = Assert.Throws <ArgumentException>
                            (
                () =>
            {
                var emptyAppKey = string.Empty;
                TempFolder.CleanFolder(fileSystem, emptyAppKey);
            }
                            );

            Assert.AreEqual(@"applicationKey", exception.ParamName);
        }
コード例 #4
0
        public void TempFolderCleanTest()
        {
            var fileSystem = MockRepository.GenerateStrictMock <IFileSystem>();

            var tempFolder    = Path.GetTempPath();
            var appTempFolder = Path.Combine(tempFolder, AppKey);

            var tempFile1 = Path.Combine(appTempFolder, "file1.png");
            var tempFile2 = Path.Combine(appTempFolder, "file2.png");
            var subFolder = Path.Combine(appTempFolder, "folder1");
            var tempFile3 = Path.Combine(subFolder, "file3.png");

            string[] fileSystemEntries =
            {
                tempFile1,
                tempFile2,
                subFolder,
                tempFile3
            };

            fileSystem.Stub(f => f.GetTempPath()).Return(tempFolder);
            fileSystem.Stub(f => f.DirectoryExists(appTempFolder)).Return(true);

            fileSystem
            .Stub(f => f.EnumerateFileSystemEntries(appTempFolder, "*.*", SearchOption.AllDirectories))
            .Return(fileSystemEntries);

            fileSystem.Stub(f => f.FileExists(tempFile3)).Return(true);
            fileSystem.Stub(f => f.DeleteFile(tempFile3));

            fileSystem.Stub(f => f.FileExists(subFolder)).Return(false);
            fileSystem.Stub(f => f.DirectoryExists(subFolder)).Return(true);
            fileSystem.Stub(f => f.DeleteDirectory(subFolder));

            fileSystem.Stub(f => f.FileExists(tempFile2)).Return(true);
            fileSystem
            .Stub(f => f.DeleteFile(tempFile2))
            .Throw(new IOException());

            fileSystem.Stub(f => f.FileExists(tempFile1)).Return(true);
            fileSystem.Stub(f => f.DeleteFile(tempFile1));

            TempFolder.CleanFolder(fileSystem, AppKey);
        }