public void Path_ValidPath_ShouldBeFine()
        {
            var expectations = new ExpectationCollection <string, string>();

            expectations.Add(".", ".");
            expectations.Add(TemporaryFileCopier.RootTemporaryDirectoryName, TemporaryFileCopier.RootTemporaryDirectoryName);
            expectations.Add(TemporaryFileCopier.GetRootTemporaryDirectory(), TemporaryFileCopier.GetRootTemporaryDirectory());
            expectations.Add(TemporaryFileCopier.GetTemporaryDirectory(), TemporaryFileCopier.GetTemporaryDirectory());

            foreach (var e in expectations)
            {
                var cat = CreateDirectoryCatalog(e.Input, NonExistentSearchPattern);

                Assert.Equal(e.Output, cat.Path);
            }
        }
        public void FullPath_ValidPath_ShouldBeFine()
        {
            var expectations = new ExpectationCollection <string, string>();

            // Ensure the path is always normalized properly.
            string rootTempPath = Path.GetFullPath(TemporaryFileCopier.GetRootTemporaryDirectory()).ToUpperInvariant();

            // Note: These relative paths work properly because the unit test temporary directories are always
            // created as a subfolder off the AppDomain.CurrentDomain.BaseDirectory.
            expectations.Add(".", Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ".")).ToUpperInvariant());
            expectations.Add(TemporaryFileCopier.RootTemporaryDirectoryName, rootTempPath);
            expectations.Add(TemporaryFileCopier.GetRootTemporaryDirectory(), rootTempPath);
            expectations.Add(TemporaryFileCopier.GetTemporaryDirectory(), Path.GetFullPath(TemporaryFileCopier.GetTemporaryDirectory()).ToUpperInvariant());

            foreach (var e in expectations)
            {
                var cat = CreateDirectoryCatalog(e.Input, NonExistentSearchPattern);

                Assert.Equal(e.Output, cat.FullPath);
            }
        }