public void AnalysisStep_TryGetPreviousSibling_SkipNonVisibleNodes()
        {
            var list   = new List <AnalysisStepNode>();
            var target = new AnalysisStepNode(resultId: 0, runIndex: 0);

            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0)
            {
                FilePath = Expected
            });
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0)
            {
                Visibility = Visibility.Collapsed
            });
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0)
            {
                Visibility = Visibility.Hidden
            });
            list.Add(target);
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0));

            AnalysisStepNode resultNode;
            bool             result = AnalysisStep.TryGetPreviousSibling(list, target, out resultNode);

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

            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0));

            AnalysisStepNode resultNode;
            bool             result = AnalysisStep.TryGetPreviousSibling(list, null, out resultNode);

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

            var node = new AnalysisStepNode(resultId: 0, runIndex: 0);

            AnalysisStepNode resultNode;
            bool             result = AnalysisStep.TryGetPreviousSibling(list, node, out resultNode);

            result.Should().BeFalse();
        }
        public void AnalysisStep_TryGetPreviousSibling_FirstNode()
        {
            var list   = new List <AnalysisStepNode>();
            var target = new AnalysisStepNode(resultId: 0, runIndex: 0);

            list.Add(target);
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0)
            {
                FilePath = Expected
            });
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0));

            AnalysisStepNode resultNode;
            bool             result = AnalysisStep.TryGetPreviousSibling(list, target, out resultNode);

            result.Should().BeFalse();
        }
        public void AnalysisStep_TryGetPreviousSibling_DoesNotExistNode()
        {
            var list = new List <AnalysisStepNode>();

            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0));
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0));
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0)
            {
                Visibility = Visibility.Collapsed
            });
            list.Add(new AnalysisStepNode(resultId: 0, runIndex: 0)
            {
                Visibility = Visibility.Hidden
            });

            AnalysisStepNode resultNode;
            bool             result = AnalysisStep.TryGetPreviousSibling(list, new AnalysisStepNode(resultId: 0, runIndex: 0), out resultNode);

            result.Should().BeFalse();
        }