public void DirectoryCanBeCopiedToDisk() { string expected = "test"; string expectedFileName = "test.html"; var root = new MemoryDirectory("root", null); root.CreateFileFromText(expectedFileName, expected); var dir = root.CreateDirectory(expected); dir.CreateFileFromText(expectedFileName, expected); var diskDir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "root")); root.CopyToDisk(diskDir); Assert.True(Directory.Exists(Path.Combine(diskDir.FullName, expected))); Assert.True(File.Exists(Path.Combine(diskDir.FullName, expectedFileName))); Assert.True(File.Exists(Path.Combine(diskDir.FullName, expected, expectedFileName))); string content; using (var reader = new StreamReader(Path.Combine(diskDir.FullName, expectedFileName))) { content = reader.ReadToEnd(); } Assert.Equal(expected, content); using (var reader = new StreamReader(Path.Combine(diskDir.FullName, expected, expectedFileName))) { content = reader.ReadToEnd(); } Assert.Equal(expected, content); diskDir.Delete(true); }