public void GetChildDirectories_ShouldReturnDirectoryNames()
        {
            string startDir = "C:\\test";
            ISubDirectoryExtractor fakeSubDirectoryExtractor = new FakeSubDirectoryExtractor();
            DirectoryTraverser     dirTraverser = new DirectoryTraverser(startDir, fakeSubDirectoryExtractor);

            var subDirs = dirTraverser.GetChildDirectories().ToArray();

            string[] expectedSubDirs = new string[] { "dir1", "dir2", "dir3" };

            CollectionAssert.AreEqual(subDirs, expectedSubDirs);
        }
        public void GetChildDirectories_ShouldReturnDirectoryNames()
        {
           //Arrange
           var fakeDirectoryProvider = new FakeDirectoryProviderComplexPaths();
           var traverser = new DirectoryTraverser(string.Empty, fakeDirectoryProvider);

           var expectedDirectories = new string[] { "Assets", "bin" };
          
           //Act
           var childDirectories =  traverser.GetChildDirectories().ToArray();

           //Assert
           CollectionAssert.AreEqual(expectedDirectories, childDirectories);
        }
Пример #3
0
        public void GetChilsDirectories_ShouldCorrectlySortPaths()
        {
            var fakeDirectoryProvider = new FakeUnsortedPaths();
            var traverser             = new DirectoryTraverser(string.Empty, fakeDirectoryProvider);

            var expectedDirectories = fakeDirectoryProvider.GetDirectories(string.Empty);

            Array.Sort(expectedDirectories);

            //Act
            var childDirectories = traverser.GetChildDirectories().ToArray();

            //Assert
            CollectionAssert.AreEqual(expectedDirectories, childDirectories);
        }
        public void ChildDirectories_ShouldCorrectlySortPaths()
        {
            //Arrange
            var fakeDirectoryProvider = new FakeDirectoryProviderUnsortedPaths();
            var traverser = new DirectoryTraverser(string.Empty, fakeDirectoryProvider);

            var expectedDirectories = fakeDirectoryProvider.GetDirectories(string.Empty);
         
            Array.Sort(expectedDirectories);

            //Act
            var childDirectories = traverser.GetChildDirectories().ToArray();

            //Assert
            CollectionAssert.AreEqual(expectedDirectories, childDirectories);
        }
        private static void RunDirectoryTraverser(StandardKernel kernel)
        {
            var directoryProvider = kernel.Get <IDirectoryProvider>();
            var traverser         = new DirectoryTraverser(
                @"C:\SVN\web-services-and-cloud\August-2015",
                directoryProvider);

            var children = traverser.GetChildDirectories();

            foreach (var child in children)
            {
                Console.WriteLine(child);
            }

            Console.WriteLine(traverser.CurrentDirectory);
        }
Пример #6
0
        public void GetChildDirectories_ShouldReturnDirectoryNames()
        {
            //Arange
            var fakeDirectoryProvider = new FakeDirectoryProviderComplexPaths();
            var traverser             = new DirectoryTraverser(string.Empty, fakeDirectoryProvider);

            var expectedDirectories = new string[]
            {
                "bin",
                "nonempty",
            };

            Array.Sort(expectedDirectories);

            //Act
            var childDirectories = traverser.GetChildDirectories().ToArray();

            //Assert
            CollectionAssert.AreEqual(expectedDirectories, childDirectories);
        }
Пример #7
0
        public List <DailyFileInfo> DoRead()
        {
            List <DailyFileInfo> reports   = new List <DailyFileInfo>();
            DirectoryTraverser   traverser = new DirectoryTraverser(BaseDirectory, "*.json");
            List <FileInfo>      files     = traverser.files;

            foreach (FileInfo file in files)
            {
                try
                {
                    FileInformationRequest req = new FileInformationRequest(EFileType.COMMONDailyFile, file.FullName);
                    RequestBus.Instance.MakeRequest(req);
                    if (req.IsHandled)
                    {
                        // Return a report if the ID isn't in the database, or if it has changed since it's been put in the database
                        bool return_report =
                            req.Details == null ||
                            req.ID < 0 ||
                            req.Details.Size != (ulong)file.Length ||
                            req.Details.Modification != file.LastWriteTime;

                        if (return_report)
                        {
                            DailyFileInfo file_info = new DailyFileInfo()
                            {
                                Info    = file,
                                Details = req.Details,
                            };
                            reports.Add(file_info);
                        }
                    }
                }
                catch (Exception e)
                {
                    ILog log = LogManager.GetLogger(typeof(Reader));
                    log.Error(e);
                }
            }

            return(reports);
        }