//[Test] public void TestReadDirectory() { //Arrange var fs = new MockFileSystem(); var dirs = new string[] { @"c:\My", @"c:\My\Dir1", @"c:\My\Dir2", @"c:\My\Dir3", @"c:\My\Dir4" }.ToList(); dirs.ForEach(d => fs.Directory.CreateDirectory(d)); var files = new string[] { @"c:\My\file1.txt", @"c:\My\file2.txt", @"c:\My\file3.txt", @"c:\My\file4.txt" }.ToList(); files.ForEach(f => fs.File.Create(f)); var di = fs.DirectoryInfo.FromDirectoryName(@"c:\My"); var items = new Dictionary <string, IEntry>(); //Act var d = new PassthroughDirectory(di); object c = 0; while (d.ReadDirectory(null, null, ref c, out var n, out var e)) { items.Add(n, e.Clone() as IEntry); }