/// <summary>
        /// Default constructor
        /// </summary>
        public WebServerFileSystem()
        {
            InMemoryCache = new InMemoryFileSystem();
            //create a directory in memory for us to store the cached files
            InMemoryCache.CreateDirectory(CacheDirectory);

            _cachesInProgress = new Dictionary<string, WebServerFile>();
        }
        public void DeleteFolders()
        {
            IFileSystem fileSystem = new Buttercup.Control.Common.IO.InMemoryFileSystem();

            fileSystem.CreateDirectory("Books");
            fileSystem.CreateFile("Books/File1.txt");

            fileSystem.DeleteDirectory("Books");

            IDirectory directory = fileSystem.GetDirectory("Books");
            IFile file = fileSystem.GetFile("Books/File1.txt");

            Assert.IsTrue(!directory.Exists && !file.Exists);
        }
        public void DeleteFiles()
        {
            IFileSystem fileSystem = new Buttercup.Control.Common.IO.InMemoryFileSystem();

            fileSystem.CreateDirectory("Books");
            fileSystem.CreateFile("Books/File1.txt");
            fileSystem.CreateFile("Books/File2.txt");
            fileSystem.CreateFile("Books/File3.txt");
            fileSystem.CreateFile("Books/File4.txt");
            int fileCount1 = fileSystem.GetDirectory("Books").GetFiles().Count;

            IFile file = fileSystem.GetFile("Books/File3.txt");
            file.Delete();
            int fileCount2 = fileSystem.GetDirectory("Books").GetFiles().Count;

            Assert.IsTrue(fileCount1 == 4 && fileCount2 == 3);
        }