protected void AssertTempDir(IEnumerable<string> entries) { var entriesArray = entries.ToArray(); entriesArray = entriesArray.OrderBy(s => s).ToArray(); var expectedPaths = entriesArray.Select(s => _tempPath.Combine(s).RelativeTo(_tempPath)); var actualPaths = _tempPath.Contents(recurse: true).OrderBy(s => s.ToString()).ToArray(); CollectionAssert.AreEquivalent(expectedPaths, actualPaths.Select(p => p.RelativeTo(_tempPath))); for (var i = 0; i != entriesArray.Length; i++) { if (!entriesArray[i].EndsWith("/")) continue; Assert.IsTrue(actualPaths[i].DirectoryExists(), actualPaths[i] + " was expected to be a directory"); } }