コード例 #1
0
        public void GetChildAt(int index, int[] expected)
        {
            IEnumerable <VirtualTree <Node <int> > > nums =
                Enumerable
                .Range(0, 2)
                .Select(x =>
                        VirtualTree
                        .New(
                            new NodeWalker <int>(),
                            Node
                            .Create(x)
                            .AddChildren(
                                Enumerable
                                .Range(0, 3)
                                .Select(y => Node.Create(y))
                                .ToArray())));

            Assert.Equal(expected, nums.GetChildAt(index).Unwrap().Select(x => x.Value).ToArray());
        }
コード例 #2
0
        public void GetChildrenByKey_ArgumentComparerIsInvoked()
        {
            // Get a valid tree.
            var tree = TestTreeFactory.GetSimpleTree();

            // Create a mock IComparer.
            Mock <IEqualityComparer <Node <int> > > mockComparer = new Mock <IEqualityComparer <Node <int> > >();

            mockComparer
            .Setup(mock => mock.Equals(It.IsAny <Node <int> >(), It.IsAny <Node <int> >()))
            .Returns(true);

            // Create a VirtualTree.
            VirtualTree <Node <int> > vt = VirtualTree.New(new NodeWalker <int>(), tree);

            // Create a key to use for comparison.  Any key is fine.
            Node <int> key = new Node <int>(0);

            // Execute the GetChildren.
            vt.GetChildren(key, mockComparer.Object).ToArray();

            // Verify that the comparer argument was used.
            mockComparer.Verify(x => x.Equals(key, It.IsAny <Node <int> >()), Times.AtLeastOnce);
        }
コード例 #3
0
        public void GetDescendants_ByKey_PropetyComparerIsInvoked()
        {
            // Get a valid tree.
            var tree = TestTreeFactory.GetSimpleTree();

            // Create a mock IComparer.
            Mock <IEqualityComparer <Node <int> > > mockComparer = new Mock <IEqualityComparer <Node <int> > >();

            mockComparer
            .Setup(mock => mock.Equals(It.IsAny <Node <int> >(), It.IsAny <Node <int> >()))
            .Returns(true);

            // Create a VirtualTree.
            VirtualTree <Node <int> > vt = VirtualTree.New(new NodeWalker <int>(), tree, mockComparer.Object);

            // Create a key to use for comparison.  Any key is fine.
            Node <int> key = new Node <int>(0);

            // Execute GetDescendants.
            vt.GetDescendants(key: key).ToArray();

            // Verify that the VirtualTree's comparer was used.
            mockComparer.Verify(x => x.Equals(It.IsAny <Node <int> >(), It.IsAny <Node <int> >()), Times.Exactly(vt.GetDegree()));
        }