public void WillExecuteOnceForEachDescendantDirectoryAndFile_TwoGenerationsDeep()
        {
            FileInfo file1 = TempFile.Create("1.txt");

            DirectoryInfo subDirectory1    = TempDir.CreateSubdirectory("1");
            DirectoryInfo subSubDirectory1 = subDirectory1.CreateSubdirectory("1.1");
            DirectoryInfo subSubDirectory2 = subDirectory1.CreateSubdirectory("1.2");
            FileInfo      file2            = NewFileFor(subSubDirectory2, "2.txt");
            FileInfo      file3            = NewFileFor(subSubDirectory2, "3.txt");

            DirectoryInfo subDirectory2 = TempDir.CreateSubdirectory("2");

            FileSystemNavigator navigator = NewLoggingNavigatorForTempDirectory;

            navigator.Walk();

            string[] expectedNames = FullNamesFor(TempDir.Root,
                                                  file1,
                                                  subDirectory1,
                                                  subSubDirectory1,
                                                  subSubDirectory2,
                                                  file2,
                                                  file3,
                                                  subDirectory2);
            Assert.That(_loggedNames, Is.EqualTo(expectedNames));
        }
        public void WillExecuteOnceForEachSubdirectory()
        {
            DirectoryInfo subdirectory1 = TempDir.CreateSubdirectory("1");
            DirectoryInfo subdirectory2 = TempDir.CreateSubdirectory("2");

            FileSystemNavigator navigator = NewLoggingNavigatorForTempDirectory;

            navigator.Walk();

            Assert.That(_loggedNames, Is.EqualTo(FullNamesFor(TempDir.Root, subdirectory1, subdirectory2)));
        }
Esempio n. 3
0
        private static FileInfo Create(string relativeFilePath, string contents, Encoding encoding)
        {
            if (!TempDir.Root.Exists)
            {
                TempDir.CreateNew();
            }

            string pathFragment = Path.GetDirectoryName(relativeFilePath);

            if (!string.IsNullOrEmpty(pathFragment))
            {
                TempDir.CreateSubdirectory(pathFragment);
            }

            return(CreateNewFile(TempDir.AbsPathFor(relativeFilePath), contents, encoding));
        }
        public void WillExecuteOnceForEachDescendantDirectory_ThreeGenerationsDeep()
        {
            DirectoryInfo subDirectory1      = TempDir.CreateSubdirectory("1");
            DirectoryInfo subSubDirectory1   = subDirectory1.CreateSubdirectory("1.1");
            DirectoryInfo subSubDirectory2   = subDirectory1.CreateSubdirectory("1.2");
            DirectoryInfo subSubSubDirectory = subSubDirectory2.CreateSubdirectory("1.2.1");

            DirectoryInfo subDirectory2 = TempDir.CreateSubdirectory("2");


            FileSystemNavigator navigator = NewLoggingNavigatorForTempDirectory;

            navigator.Walk();

            string[] expectedNames = FullNamesFor(TempDir.Root,
                                                  subDirectory1,
                                                  subSubDirectory1,
                                                  subSubDirectory2,
                                                  subSubSubDirectory,
                                                  subDirectory2);
            Assert.That(_loggedNames, Is.EqualTo(expectedNames));
        }