コード例 #1
0
        public void FileSystemQuery_FindNetworkComputers_ValidEntries_ExpectReturned()
        {
            //------------Setup for test--------------------------
            var dirFact        = new Mock <IDirectoryEntryFactory>();
            var dir            = new Mock <IDirectoryEntry>();
            var children       = new Mock <IDirectoryEntries>();
            var gChildren      = new Mock <IDirectoryEntries>();
            var actualChildren = new List <Mock <IDirectoryEntry> > {
                new Mock <IDirectoryEntry>()
            };
            var actualGChildren = new List <Mock <IDirectoryEntry> > {
                new Mock <IDirectoryEntry>()
            };

            actualGChildren.ForEach(b => b.Setup(a => a.Name).Returns("a"));
            actualGChildren.ForEach(b => b.Setup(a => a.SchemaClassName).Returns("Computer"));
            actualChildren.ForEach(b => b.Setup(a => a.SchemaClassName).Returns("Computer"));
            dirFact.Setup(a => a.Create(It.IsAny <string>())).Returns(dir.Object);

            dir.Setup(a => a.Children).Returns(children.Object);
            children.Setup(a => a.GetEnumerator()).Returns(actualChildren.Select(a => a.Object).GetEnumerator());
            actualChildren.First().Setup(a => a.Children).Returns(gChildren.Object);
            gChildren.Setup(a => a.GetEnumerator()).Returns(actualGChildren.Select(a => a.Object).GetEnumerator());
            //------------Execute Test---------------------------
            var query = new FileSystemQuery(new DirectoryWrapper(), dirFact.Object, new ShareCollectionFactory());

            var res = query.FindNetworkComputers();

            //------------Assert Results-------------------------
            Assert.AreEqual(res.Count, 1);
            Assert.AreEqual("\\\\a", res[0]);
        }