Dev2.Core.Tests.FileSystemQueryTest.GetFileSystemQuery C# (CSharp) Method

GetFileSystemQuery() private static method

private static GetFileSystemQuery ( bool hasShares = true ) : FileSystemQuery
hasShares bool
return Dev2.Intellisense.Helper.FileSystemQuery
        private static FileSystemQuery GetFileSystemQuery(bool hasShares = true)
        {
            var dirFact = new Mock<IDirectoryEntryFactory>();
            var dir = new Mock<IDirectoryEntry>();
            var dirLocal = new Mock<IDirectory>();
            dirLocal.Setup(a => a.Exists("bob")).Returns(false);
            dirLocal.Setup(a => a.Exists("bo")).Returns(true);
            dirLocal.Setup(a => a.GetFileSystemEntries(It.IsAny<string>(), It.IsAny<string>())).Returns(new[] { "b", "d", "f" });

            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());
            IList<Share> shares = hasShares? new List<Share>{new Share("a","b",ShareType.Disk)}  : new List<Share>();
            var sFact = new Mock<IShareCollectionFactory>();
            sFact.Setup(a => a.CreateShareCollection(It.IsAny<string>())).Returns(new ShareCollection(shares));

            //------------Execute Test---------------------------
            var query = new FileSystemQuery(dirLocal.Object, dirFact.Object, sFact.Object);

            return query;
        }
FileSystemQueryTest