public void DirectoryExists_ResourceRootDirectory()
        {
            var provider = new TestableResourceVirtualPathProvider(new[] { new ResourcePathMapping("test", "testResourceFolder") }, _testDirectory);

            provider.SetMakeRelativeVirtualPathOverride((a, b) => "subfolder");
            provider.SetCombineVirtualPathOverride((a, b) => "~/res/test/");
            provider.SetMapPathOverride((a) => "c:\\temp");

            Directory.CreateDirectory(Path.Combine(_testDirectory, "testResourceFolder\\subfolder"));

            Assert.That(provider.DirectoryExists("~/res/"));
        }
        public void GetDirectory_ResourceRootDirectory()
        {
            var expectedDirectoryPath = "c:\\temp";

            var provider = new TestableResourceVirtualPathProvider(new[] { new ResourcePathMapping("test", "testResourceFolder") }, _testDirectory);

            provider.SetMakeRelativeVirtualPathOverride((a, b) => "testDirectory");
            provider.SetCombineVirtualPathOverride((a, b) => "~/res/test/");
            provider.SetMapPathOverride((a) => expectedDirectoryPath);

            Directory.CreateDirectory(expectedDirectoryPath);

            var actual = (ResourceVirtualDirectory)provider.GetDirectory("~/res/");

            Assert.That(actual.PhysicalPath, Is.EqualTo(expectedDirectoryPath));
            Assert.That(actual.Exists);
            Assert.That(actual, Is.InstanceOf <RootMappingVirtualDirectory>());
        }