public void DeleteFileAndEmptyParentDirectoriesCorrectly() { // Arrange var fileSystem = new MockFileSystem("x:\\"); fileSystem.AddFile("foo\\bar\\hell\\x.txt"); // Act fileSystem.DeleteFileAndParentDirectoriesIfEmpty("foo\\bar\\hell\\x.txt"); // Assert Assert.False(fileSystem.FileExists("foo\\bar\\hell\\x.txt")); Assert.False(fileSystem.DirectoryExists("foo")); Assert.False(fileSystem.DirectoryExists("foo\\bar")); Assert.False(fileSystem.DirectoryExists("foo\\bar\\hell")); }