public void MoveFileFail() { var mountfs = new MountFileSystem(); var memfs1 = new MemoryFileSystem(); memfs1.WriteAllText("/file.txt", "content1"); var memfs2 = new MemoryFileSystem(); memfs2.WriteAllText("/file2.txt", "content1"); mountfs.Mount("/dir1", memfs1); mountfs.Mount("/dir2", memfs2); Assert.Throws <DirectoryNotFoundException>(() => mountfs.MoveFile("/dir1/file.txt", "/xxx/yyy.txt")); Assert.Throws <FileNotFoundException>(() => mountfs.MoveFile("/dir1/xxx", "/dir1/file1.txt")); Assert.Throws <FileNotFoundException>(() => mountfs.MoveFile("/xxx", "/dir1/file1.txt")); }
public void CopyAndMoveFileCross() { var mountfs = new MountFileSystem(); var memfs1 = new MemoryFileSystem(); memfs1.WriteAllText("/file1.txt", "content1"); var memfs2 = new MemoryFileSystem(); mountfs.Mount("/dir1", memfs1); mountfs.Mount("/dir2", memfs2); mountfs.CopyFile("/dir1/file1.txt", "/dir2/file2.txt", true); Assert.True(memfs2.FileExists("/file2.txt")); Assert.Equal("content1", memfs2.ReadAllText("/file2.txt")); mountfs.MoveFile("/dir1/file1.txt", "/dir2/file1.txt"); Assert.False(memfs1.FileExists("/file1.txt")); Assert.True(memfs2.FileExists("/file1.txt")); Assert.Equal("content1", memfs2.ReadAllText("/file1.txt")); }