public void AnalysisStep_TryGetFirstItem_NullList()
        {
            List <AnalysisStepNode> list = null;

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

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

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

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

            result.Should().BeTrue();
            resultNode.FilePath.Should().Be(Expected);
        }
        public void AnalysisStep_TryGetFirstItem_NoVisibleNodes()
        {
            var list   = new List <AnalysisStepNode>();
            var target = 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.TryGetFirstItem(list, out resultNode);

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

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

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

            result.Should().BeTrue();
            resultNode.FilePath.Should().Be(Expected);
        }