public void ShouldReturnExistingFiles(string directory, string[] patterns, string[] expected, bool reverseSlashes)
            {
                // TestContext.Out.WriteLine($"Patterns: {string.Join(",", patterns)}");

                // Given
                TestFileProvider fileProvider = GetFileProvider();

                fileProvider.AddDirectory("/");
                fileProvider.AddDirectory("/q");
                fileProvider.AddFile("/q/werty.txt");
                IFileSystem fileSystem = new TestFileSystem(fileProvider);
                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));
                }
            }
예제 #2
0
        public void GetFilesWithNullSearchPattern()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.GetFiles(@"X:\MYDIRECTORY", a_searchPattern: null);
        }
            public void ShouldThrowForNullDirectory()
            {
                // Given
                IFileSystem fileSystem = new TestFileSystem(GetFileProvider());

                // When, Then
                Should.Throw <ArgumentNullException>(() => fileSystem.GetFiles((IDirectory)null, "/"));
            }
예제 #4
0
        public void GetFilesInNonExistantDirectory()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.GetFiles(@"X:\MYDIRECTORY");
        }
예제 #5
0
        public void GetFilesInDirectoryWithNull()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.GetFiles(a_path: null);
        }
예제 #6
0
        public void GetFilesinDirectoryWithBadPath()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.GetFiles(a_path: "meow meow meow");
        }
            public void ShouldThrowForNullPatterns()
            {
                // Given
                IFileSystem fileSystem = new TestFileSystem(GetFileProvider());
                IDirectory  dir        = fileSystem.GetDirectory("/");

                // When, Then
                Should.Throw <ArgumentNullException>(() => fileSystem.GetFiles(dir, null));
            }
            public void ShouldNotThrowForNullPattern()
            {
                // Given
                IFileSystem fileSystem = new TestFileSystem(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));
            }
예제 #9
0
        public void GetFilesWithASearchPattern()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            fileSystem.StageFile(@"x:\mydirectory\file1.dat", new TestFileInstance());
            fileSystem.StageFile(@"x:\mydirectory\file2.css", new TestFileInstance());
            fileSystem.StageFile(@"x:\mydirectory\file3.dat", new TestFileInstance());
            fileSystem.StageFile(@"x:\mydirectory\otherdirectory\file4.dat", new TestFileInstance());

            // Execute
            var filePaths = fileSystem.GetFiles(@"X:\MYDIRECTORY", "*.dat");

            // Assert
            Assert.AreEqual(2, filePaths.Length);
        }
예제 #10
0
        public void GetFilesWithNullSearchPattern()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.GetFiles(@"X:\MYDIRECTORY", a_searchPattern: null);
        }
예제 #11
0
        public void GetFilesWithASearchPattern()
        {
            // Setup
            var fileSystem = new TestFileSystem();
            fileSystem.StageFile(@"x:\mydirectory\file1.dat", new TestFileInstance());
            fileSystem.StageFile(@"x:\mydirectory\file2.css", new TestFileInstance());
            fileSystem.StageFile(@"x:\mydirectory\file3.dat", new TestFileInstance());
            fileSystem.StageFile(@"x:\mydirectory\otherdirectory\file4.dat", new TestFileInstance());

            // Execute
            var filePaths = fileSystem.GetFiles(@"X:\MYDIRECTORY", "*.dat");

            // Assert
            Assert.AreEqual(2, filePaths.Length);
        }
예제 #12
0
        public void GetFilesInNonExistantDirectory()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.GetFiles(@"X:\MYDIRECTORY");
        }
예제 #13
0
        public void GetFilesInDirectoryWithNull()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
               fileSystem.GetFiles(a_path: null);
        }
예제 #14
0
        public void GetFilesinDirectoryWithBadPath()
        {
            // Setup
            var fileSystem = new TestFileSystem();

            // Execute
            fileSystem.GetFiles(a_path: "meow meow meow");
        }