コード例 #1
0
        public void SimulationModeFileSystem_CreateDirectory()
        {
            var fileSystem = new SimulationModeFileSystem();

            fileSystem.CreateDirectory("DummyPath");
            Assert.Single(fileSystem.FileSystemChanges);
            Assert.Equal(FileSystemChangeType.AddDirectory, fileSystem.FileSystemChanges.First().FileSystemChangeType);

            // Add existing directory doesn't add a change.
            fileSystem.CreateDirectory(Directory.GetCurrentDirectory());
            Assert.Single(fileSystem.FileSystemChanges);
        }
コード例 #2
0
        public async void SimulationModeFileSystem_EnumerateFiles_AddedFiles()
        {
            var fileSystem = new SimulationModeFileSystem();
            var dirPath    = Directory.GetCurrentDirectory();
            var expected   = Directory.EnumerateFiles(dirPath, "*.*", SearchOption.TopDirectoryOnly);
            var actual     = fileSystem.EnumerateFiles(dirPath, "*.*", SearchOption.TopDirectoryOnly);

            Assert.Equal(expected, actual);

            var contents = "DummyContents";

            byte[] bytes = Encoding.UTF8.GetBytes(contents);

            await fileSystem.AddFileAsync(Path.Combine(dirPath, "DummyOutputPath.txt"), new MemoryStream(bytes));

            actual = fileSystem.EnumerateFiles(dirPath, "*.*", SearchOption.TopDirectoryOnly);
            Assert.Contains(actual, f => f.Equals(Path.Combine(dirPath, "DummyOutputPath.txt")));

            actual = fileSystem.EnumerateFiles(dirPath, "DummyOutputPat?.txt", SearchOption.TopDirectoryOnly);
            Assert.Contains(actual, f => f.Equals(Path.Combine(dirPath, "DummyOutputPath.txt")));

            actual = fileSystem.EnumerateFiles(dirPath, "*OutputPath.t?t", SearchOption.TopDirectoryOnly);
            Assert.Contains(actual, f => f.Equals(Path.Combine(dirPath, "DummyOutputPath.txt")));

            fileSystem.CreateDirectory(Path.Combine(dirPath, "test_dir"));
            await fileSystem.AddFileAsync(Path.Combine(dirPath, "test_dir", "TestFile.abc"), new MemoryStream(bytes));

            actual = fileSystem.EnumerateFiles(dirPath, "*.*", SearchOption.AllDirectories);
            Assert.Contains(actual, f => f.Equals(Path.Combine(dirPath, "DummyOutputPath.txt")));
            Assert.Contains(actual, f => f.Equals(Path.Combine(dirPath, "test_dir", "TestFile.abc")));

            actual = fileSystem.EnumerateFiles(dirPath, "*.abc", SearchOption.AllDirectories);
            Assert.DoesNotContain(actual, f => f.Equals(Path.Combine(dirPath, "DummyOutputPath.txt")));
            Assert.Contains(actual, f => f.Equals(Path.Combine(dirPath, "test_dir", "TestFile.abc")));
        }