예제 #1
0
        public void DeleteNotExistingFile()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            fileSystem.StageFile(@"x:\directory2\file1.rgb", new TestFileInstance());
            fileSystem.StageFile(@"x:\directory2\file2.rgb", new TestFileInstance());

            // Execute
            fileSystem.DeleteFile(@"x:\directory2\file3.rgb");

            // Assert
            Assert.IsTrue(fileSystem.FileExists(@"x:\directory2\file1.rgb"));
            Assert.IsTrue(fileSystem.FileExists(@"x:\directory2\file2.rgb"));
        }
예제 #2
0
        public void FileExistsWithNullPath()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            var result = fileSystem.FileExists(a_path: null);
        }
예제 #3
0
        public void FileExistsWithBadPath()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            var result = fileSystem.FileExists(a_path: @"X:\ccccc?.bat");
        }
예제 #4
0
        public void CreateFileOnRoot()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.StageFile(@"C:\File.dat", new TestFileInstance());

            // Assert
            Assert.IsTrue(fileSystem.FileExists(@"C:\File.dat"));
        }
예제 #5
0
        public void EmptyDirectory()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            var directory  = fileSystem.StageDirectory(@"\directory");

            fileSystem.StageDirectory(@"\directory\child1");
            fileSystem.StageDirectory(@"\directory\child2");
            fileSystem.StageDirectory(@"\directory\child3");
            fileSystem.StageFile(@"\directory\file1.dat");
            fileSystem.StageFile(@"\directory\file2.dat");
            fileSystem.StageFile(@"\directory\file3.dat");
            fileSystem.StageFile(@"\directory\child2\fileA.dat");
            fileSystem.StageFile(@"\directory\child2\fileB.dat");
            fileSystem.StageFile(@"\directory\child2\fileC.dat");

            // Execute
            directory.Empty();

            // Assert
            Assert.IsTrue(fileSystem.DirectoryExists(@"\directory"));
            Assert.IsFalse(fileSystem.DirectoryExists(@"\directory\child1"));
            Assert.IsFalse(fileSystem.DirectoryExists(@"\directory\child2"));
            Assert.IsFalse(fileSystem.DirectoryExists(@"\directory\child3"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\file1.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\file2.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\file3.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\child2\fileA.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\child2\fileB.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\child2\fileC.dat"));
        }
예제 #6
0
        public void FileExists()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            fileSystem.StageFile(@"X:\Directory\File.dat", new TestFileInstance());

            // Execute
            var result = fileSystem.FileExists(@"x:\directory\file.DAT");

            // Assert
            Assert.IsTrue(result);
        }
예제 #7
0
        public void CreateFile()
        {
            // Setup
            var created = DateTime.UtcNow;
            var lastModified = DateTime.UtcNow;
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.StageFile(@"X:\Directory\File.dat", new TestFileInstance { Size = 14067, CreatedTimeUtc = created, LastModifiedTimeUtc = lastModified });

            // Assert
            Assert.IsTrue(fileSystem.FileExists(@"X:\Directory\File.dat"));
            var stats = fileSystem.GetFileInstance(@"X:\Directory\File.dat");
            Assert.AreEqual(14067, stats.Size);
            Assert.AreEqual(created, stats.CreatedTimeUtc);
            Assert.AreEqual(lastModified, stats.LastModifiedTimeUtc);
        }
예제 #8
0
        public void DeleteDirectory()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            fileSystem.StageDirectory(@"x:\directory1");
            fileSystem.StageDirectory(@"X:\DIRECTORY2\CHILD");
            fileSystem.StageFile(@"x:\directory2\file.rgb", new TestFileInstance());

            // Execute
            fileSystem.DeleteDirectory(@"x:\directory2");

            // Assert
            Assert.IsTrue(fileSystem.DirectoryExists(@"x:\directory1"));
            Assert.IsFalse(fileSystem.DirectoryExists((@"x:\directory2")));
            Assert.IsFalse(fileSystem.DirectoryExists(@"x:\directory2\child"));
            Assert.IsFalse(fileSystem.FileExists(@"x:\directory2\file.rgb"));
        }
예제 #9
0
        public void CopyIn()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            var directory = fileSystem.StageDirectory(@"D:\directory");
            var file = fileSystem.StageFile(@"D:\file1.dat");

            // Execute
            var result = directory.CopyIn(file);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exists);
            Assert.AreEqual(@"D:\directory\file1.dat", result.Path);
            Assert.IsTrue(fileSystem.FileExists(@"D:\directory\file1.dat"));
            Assert.IsInstanceOfType(result, typeof(TestFile));
            Assert.AreSame(fileSystem, (result as TestFile)?.FileSystem);
        }
예제 #10
0
        public void CopyIn()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            var directory  = fileSystem.StageDirectory(@"D:\directory");
            var file       = fileSystem.StageFile(@"D:\file1.dat");

            // Execute
            var result = directory.CopyIn(file);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exists);
            Assert.AreEqual(@"D:\directory\file1.dat", result.Path);
            Assert.IsTrue(fileSystem.FileExists(@"D:\directory\file1.dat"));
            Assert.IsInstanceOfType(result, typeof(TestFile));
            Assert.AreSame(fileSystem, (result as TestFile)?.FileSystem);
        }
예제 #11
0
        public void DeleteNotExistingDirectory()
        {
            // Setup
            var root       = Path.GetPathRoot(Environment.SystemDirectory);
            var fileSystem = new TestFileSystem();

            fileSystem.StageDirectory($@"{root}directory1");
            fileSystem.StageDirectory($@"{root}directory2\child");
            fileSystem.StageFile($@"{root}directory2\file.rgb", new TestFileInstance());

            // Execute
            fileSystem.DeleteDirectory(@"\directory3");

            // Assert
            Assert.IsTrue(fileSystem.DirectoryExists($@"{root}directory1"));
            Assert.IsTrue(fileSystem.DirectoryExists(($@"{root}directory2")));
            Assert.IsTrue(fileSystem.DirectoryExists($@"{root}directory2\child"));
            Assert.IsTrue(fileSystem.FileExists($@"{root}directory2\file.rgb"));
        }
예제 #12
0
        public void CreateFile()
        {
            // Setup
            var created      = DateTime.UtcNow;
            var lastModified = DateTime.UtcNow;
            var fileSystem   = new TestFileSystem();

            // Execute
            fileSystem.StageFile(@"X:\Directory\File.dat", new TestFileInstance {
                Size = 14067, CreatedTimeUtc = created, LastModifiedTimeUtc = lastModified
            });

            // Assert
            Assert.IsTrue(fileSystem.FileExists(@"X:\Directory\File.dat"));
            var stats = fileSystem.GetFileInstance(@"X:\Directory\File.dat");

            Assert.AreEqual(14067, stats.Size);
            Assert.AreEqual(created, stats.CreatedTimeUtc);
            Assert.AreEqual(lastModified, stats.LastModifiedTimeUtc);
        }
예제 #13
0
        public void CopyTo()
        {
            // Setup
            var source = new TestDirectory(_fileSystem, @"\Root\Directory\Sub1");
            var dest   = new TestDirectory(_fileSystem, @"\Root\Directory\SubA");

            // Execute
            DirectoryHelpers.CopyTo(source, dest);

            // Assert
            Assert.IsTrue(_fileSystem.DirectoryExists(@"\Root\Directory\SubA"));
            Assert.IsTrue(_fileSystem.DirectoryExists(@"\Root\Directory\SubA\Sub2"));
            Assert.IsTrue(_fileSystem.FileExists(@"\Root\Directory\SubA\Sub2\File1.dat"));
            Assert.IsTrue(_fileSystem.FileExists(@"\Root\Directory\SubA\Sub2\File2.dat"));
            Assert.IsTrue(_fileSystem.DirectoryExists(@"\Root\Directory\SubA\Sub3"));
            Assert.IsTrue(_fileSystem.FileExists(@"\Root\Directory\SubA\Sub3\File1.dat"));
            Assert.IsTrue(_fileSystem.FileExists(@"\Root\Directory\SubA\Sub3\File2.dat"));
            Assert.IsTrue(_fileSystem.FileExists(@"\Root\Directory\SubA\File1.dat"));
            Assert.IsTrue(_fileSystem.FileExists(@"\Root\Directory\SubA\File2.dat"));
        }
예제 #14
0
        public void CreateFileOnRoot()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.StageFile(@"C:\File.dat", new TestFileInstance());

            // Assert
            Assert.IsTrue(fileSystem.FileExists(@"C:\File.dat"));
        }
예제 #15
0
        public void DeleteNotExistingDirectory()
        {
            // Setup
            var root = Path.GetPathRoot(Environment.SystemDirectory);
            var fileSystem = new TestFileSystem();
            fileSystem.StageDirectory($@"{root}directory1");
            fileSystem.StageDirectory($@"{root}directory2\child");
            fileSystem.StageFile($@"{root}directory2\file.rgb", new TestFileInstance());

            // Execute
            fileSystem.DeleteDirectory(@"\directory3");

            // Assert
            Assert.IsTrue(fileSystem.DirectoryExists($@"{root}directory1"));
            Assert.IsTrue(fileSystem.DirectoryExists(($@"{root}directory2")));
            Assert.IsTrue(fileSystem.DirectoryExists($@"{root}directory2\child"));
            Assert.IsTrue(fileSystem.FileExists($@"{root}directory2\file.rgb"));
        }
예제 #16
0
        public void DeleteDirectory()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            fileSystem.StageDirectory(@"x:\directory1");
            fileSystem.StageDirectory(@"X:\DIRECTORY2\CHILD");
            fileSystem.StageFile(@"x:\directory2\file.rgb", new TestFileInstance());

            // Execute
            fileSystem.DeleteDirectory(@"x:\directory2");

            // Assert
            Assert.IsTrue(fileSystem.DirectoryExists(@"x:\directory1"));
            Assert.IsFalse(fileSystem.DirectoryExists((@"x:\directory2")));
            Assert.IsFalse(fileSystem.DirectoryExists(@"x:\directory2\child"));
            Assert.IsFalse(fileSystem.FileExists(@"x:\directory2\file.rgb"));
        }
예제 #17
0
        public void DeleteNotExistingFile()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            fileSystem.StageFile(@"x:\directory2\file1.rgb", new TestFileInstance());
            fileSystem.StageFile(@"x:\directory2\file2.rgb", new TestFileInstance());

            // Execute
            fileSystem.DeleteFile(@"x:\directory2\file3.rgb");

            // Assert
            Assert.IsTrue(fileSystem.FileExists(@"x:\directory2\file1.rgb"));
            Assert.IsTrue(fileSystem.FileExists(@"x:\directory2\file2.rgb"));
        }
예제 #18
0
        public void FileExists()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            fileSystem.StageFile(@"X:\Directory\File.dat", new TestFileInstance());

            // Execute
            var result = fileSystem.FileExists(@"x:\directory\file.DAT");

            // Assert
            Assert.IsTrue(result);
        }
예제 #19
0
        public void FileExistsWithBadPath()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            var result = fileSystem.FileExists(a_path: @"X:\ccccc?.bat");
        }
예제 #20
0
        public void FileExistsWithNullPath()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            var result = fileSystem.FileExists(a_path: null);
        }
예제 #21
0
        public void EmptyDirectory()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            var directory = fileSystem.StageDirectory(@"\directory");
            fileSystem.StageDirectory(@"\directory\child1");
            fileSystem.StageDirectory(@"\directory\child2");
            fileSystem.StageDirectory(@"\directory\child3");
            fileSystem.StageFile(@"\directory\file1.dat");
            fileSystem.StageFile(@"\directory\file2.dat");
            fileSystem.StageFile(@"\directory\file3.dat");
            fileSystem.StageFile(@"\directory\child2\fileA.dat");
            fileSystem.StageFile(@"\directory\child2\fileB.dat");
            fileSystem.StageFile(@"\directory\child2\fileC.dat");

            // Execute
            directory.Empty();

            // Assert
            Assert.IsTrue(fileSystem.DirectoryExists(@"\directory"));
            Assert.IsFalse(fileSystem.DirectoryExists(@"\directory\child1"));
            Assert.IsFalse(fileSystem.DirectoryExists(@"\directory\child2"));
            Assert.IsFalse(fileSystem.DirectoryExists(@"\directory\child3"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\file1.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\file2.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\file3.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\child2\fileA.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\child2\fileB.dat"));
            Assert.IsFalse(fileSystem.FileExists(@"\directory\child2\fileC.dat"));
        }