public void CallTree_TryGetNextSibling_SkipNonVisibleNodes()
        {
            List <CallTreeNode> list   = new List <CallTreeNode>();
            CallTreeNode        target = new CallTreeNode();

            list.Add(new CallTreeNode());
            list.Add(target);
            list.Add(new CallTreeNode()
            {
                Visibility = Visibility.Collapsed
            });
            list.Add(new CallTreeNode()
            {
                Visibility = Visibility.Hidden
            });
            list.Add(new CallTreeNode()
            {
                FilePath = Expected
            });

            CallTreeNode resultNode;
            bool         result = CallTree.TryGetNextSibling(list, target, out resultNode);

            result.Should().BeTrue();
            resultNode.FilePath.Should().Be(Expected);
        }
        public void CallTree_TryGetNextSibling_NullNode()
        {
            List <CallTreeNode> list = new List <CallTreeNode>();

            list.Add(new CallTreeNode());

            CallTreeNode resultNode;
            bool         result = CallTree.TryGetNextSibling(list, null, out resultNode);

            result.Should().BeFalse();
        }
        public void CallTree_TryGetNextSibling_NullList()
        {
            List <CallTreeNode> list = null;

            CallTreeNode node = new CallTreeNode();

            CallTreeNode resultNode;
            bool         result = CallTree.TryGetNextSibling(list, node, out resultNode);

            result.Should().BeFalse();
        }
        public void CallTree_TryGetNextSibling_MiddleNode()
        {
            List <CallTreeNode> list   = new List <CallTreeNode>();
            CallTreeNode        target = new CallTreeNode();

            list.Add(new CallTreeNode());
            list.Add(target);
            list.Add(new CallTreeNode()
            {
                FilePath = Expected
            });

            CallTreeNode resultNode;
            bool         result = CallTree.TryGetNextSibling(list, target, out resultNode);

            result.Should().BeTrue();
            resultNode.FilePath.Should().Be(Expected);
        }
        public void CallTree_TryGetNextSibling_DoesNotExistNode()
        {
            List <CallTreeNode> list = new List <CallTreeNode>();

            list.Add(new CallTreeNode());
            list.Add(new CallTreeNode());
            list.Add(new CallTreeNode()
            {
                Visibility = Visibility.Collapsed
            });
            list.Add(new CallTreeNode()
            {
                Visibility = Visibility.Hidden
            });

            CallTreeNode resultNode;
            bool         result = CallTree.TryGetNextSibling(list, new CallTreeNode(), out resultNode);

            result.Should().BeFalse();
        }