public void WalkDirectoryTree_WithoutFiles_Test(string root, bool requiredDirectoryExclude, bool directoryExclude)
        {
            DirectoryTraversalIterator directoryTraversal = new DirectoryTraversalIterator(s => s.Contains("g"));

            directoryTraversal.RequiredDirectoryFound += (sender, args) => args.ExcludeDirectory = requiredDirectoryExclude;
            directoryTraversal.DirectoryFound         += (sender, args) => args.ExcludeDirectory = directoryExclude;
            directoryTraversal.FileFound += (sender, args) => args.ExcludeFile = true;
            IEnumerable <string> result = directoryTraversal.WalkDirectoryTree(new DirectoryInfo(root));

            if (!directoryExclude)
            {
                if (!requiredDirectoryExclude)
                {
                    var unfiltred = result.Any(n => !n.Contains("g"));
                    Assert.AreEqual(unfiltred, false);
                }
                else
                {
                    var unfiltred = result.Any(n => n.Contains("g"));
                    Assert.AreEqual(unfiltred, false);
                }
            }
            else
            {
                Assert.AreEqual(result.Count(), 0);
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            string[] drives = Environment.GetLogicalDrives();

            System.IO.DriveInfo di = new System.IO.DriveInfo(drives[1]);

            DirectoryInfo rootDir         = di.RootDirectory;
            DirectoryInfo d               = new DirectoryInfo("D:/Programs/tabs/13/megadeth");
            DirectoryTraversalIterator dt = new DirectoryTraversalIterator(s => s.Contains(""));

            dt.FileFound += (sender, eventArgs) =>
            {
                Console.WriteLine(eventArgs.FileInfoArgs.FullName);
            };
            dt.RequiredFileFound += (sender, eventArgs) =>
            {
                Console.WriteLine(eventArgs.FileInfoArgs.FullName);
            };
            dt.RequiredDirectoryFound += (sender, eventArgs) => Console.WriteLine(eventArgs.DirectoryInfoArgs.FullName);
            dt.WalkDirectoryTree(rootDir).ToList();
            Console.Read();
        }