Inheritance: IDirectory
        public void CreateDirectory_MoveTo()
        {
            //arange
            IDirectory directory = new DirectoryWrap(); // should create this somewhere and inject into you method for later mocking
            var source = Path.GetRandomFileName();
            var target = Path.GetRandomFileName();

            //act
            IDirectoryInfo info = directory.CreateDirectory(source);           
            info.MoveTo(target);

            //assert
            Assert.IsTrue(info.Exists);

            // clean
            info.Delete();    
        }
        public void Create_two_directories_and_then_delete_them()
        {
            string path = new DirectoryWrap().GetCurrentDirectory();
            IDirectoryInfo directoryInfoWrap = new DirectoryInfoWrap(path);
            IDirectoryInfo[] directoriesBefore = directoryInfoWrap.GetDirectories();

            directoryInfoWrap.CreateSubdirectory("Dir1");
            directoryInfoWrap.CreateSubdirectory("Dir2");
            IDirectoryInfo[] directoriesAfterCreate = directoryInfoWrap.GetDirectories();

            Assert.AreEqual("Dir1", directoriesAfterCreate[0].Name);
            Assert.AreEqual("Dir2", directoriesAfterCreate[1].Name);
            directoriesAfterCreate[0].Delete();
            directoriesAfterCreate[1].Delete();

            var directoriesAfterDelete = directoryInfoWrap.GetDirectories();
            Assert.AreEqual(directoriesBefore.Length, directoriesAfterDelete.Length);
        }