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); }
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"))); }