public void ShouldNotThrowForNullPattern() { // Given FileSystem fileSystem = new FileSystem(); fileSystem.FileProviders.Add(NormalizedPath.DefaultFileProvider.Scheme, GetFileProvider()); IDirectory dir = fileSystem.GetDirectory("/"); // When IEnumerable<IFile> results = fileSystem.GetFiles(dir, null, "**/foo.txt"); // Then CollectionAssert.AreEquivalent(new[] { "/a/b/c/foo.txt" }, results.Select(x => x.Path.FullPath)); }
public void ShouldReturnExistingFiles(string directory, string[] patterns, string[] expected, bool reverseSlashes) { //TestContext.Out.WriteLine($"Patterns: {string.Join(",", patterns)}"); // Given FileSystem fileSystem = new FileSystem(); fileSystem.FileProviders.Add(NormalizedPath.DefaultFileProvider.Scheme, GetFileProvider()); TestFileProvider alternateProvider = new TestFileProvider(); alternateProvider.AddDirectory("/"); alternateProvider.AddDirectory("/q"); alternateProvider.AddFile("/q/werty.txt"); fileSystem.FileProviders.Add("qwerty", alternateProvider); IDirectory dir = fileSystem.GetDirectory(directory); // When IEnumerable<IFile> results = fileSystem.GetFiles(dir, patterns); // Then CollectionAssert.AreEquivalent(expected, results.Select(x => x.Path.FullPath)); if (reverseSlashes) { //When results = fileSystem.GetFiles(dir, patterns.Select(x => x.Replace("/", "\\"))); // Then CollectionAssert.AreEquivalent(expected, results.Select(x => x.Path.FullPath)); } }
public void ShouldThrowForNullPatterns() { // Given FileSystem fileSystem = new FileSystem(); fileSystem.FileProviders.Add(NormalizedPath.DefaultFileProvider.Scheme, GetFileProvider()); IDirectory dir = fileSystem.GetDirectory("/"); // When, Then Assert.Throws<ArgumentNullException>(() => fileSystem.GetFiles(dir, null)); }