//[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);
            }