public List<FeatureResult> Convert(string rawOutput)
        {
            string[] results = GetLinesFromOutput(rawOutput);

            List<FeatureResult> featureResults = new List<FeatureResult>();
            FeatureResult featureResult = null;
            ScenarioResult scenarioResult = null;

            for (int index = 0; index < results.Length; index++)
            {
                var resultLine = results[index].Trim();
                switch (resultLine)
                {
                    case (FEATURE_STARTED):
                        featureResult = new FeatureResult { Name = results[++index] };
                        break;
                    case (FEATURE_COMPLETED):
                        featureResults.Add(featureResult);
                        break;
                    case (SCENARIO_STARTED):
                        scenarioResult = new ScenarioResult { Name = results[++index] };
                        break;
                    case (STEP_RESULT):
                        var stepResult = CreateStepResult(index, results);
                        scenarioResult.StepResults.Add(stepResult);
                        break;
                    case (SCENARIO_DONE):
                        featureResult.ScenarioResults.Add(scenarioResult);
                        break;
                }
            }

            return featureResults;
        }
Пример #2
0
        //[Fact]
        //public void should_add_adornment_for_each_result()
        //{
        //    IAdornmentLayer mockLayer = MockRepository.GenerateMock<IAdornmentLayer>();
        //    IWpfTextView stubView = MockRepository.GenerateStub<IWpfTextView>();
        //    IWpfTextView stubTextLine = MockRepository.GenerateStub<IWpfTextView>();
        //    stubView.Stub(v => v.GetAdornmentLayer("EditorHighlighter")).Return(mockLayer);
        //    stubTextLine.Stub(l => l.Start).Return(new SnapshotPoint());
        //    stubTextLine.Stub(l => l.End).Return(new SnapshotPoint());
        //    stubView.Stub(v => v.TextViewLines).Return(new List<IWpfTextView> {stubTextLine});
        //    mockLayer.Expect(l => l.AddAdornment(AdornmentPositioningBehavior.TextRelative, null, null, null, null)).IgnoreArguments().Constraints(Is.Equal(AdornmentPositioningBehavior.TextRelative), Is.TypeOf(typeof(SnapshotSpan)), Is.Equal("ResultMarker"), Is.TypeOf(typeof (Image)), Is.Null());
        //    EditorHighlighter editor = new EditorHighlighter(stubView);
        //    editor.HighlightFeatureFileWithResults(CreateResults());
        //    mockLayer.VerifyAllExpectations();
        //}
        private List<FeatureResult> CreateResults()
        {
            var features = new List<FeatureResult>();

            FeatureResult result = new FeatureResult();

            ScenarioResult scenarioResult = new ScenarioResult();

            StepResult stepResult = new StepResult();
            stepResult.Name = "Test";
            stepResult.ResultText = "passed";

            scenarioResult.StepResults.Add(stepResult);

            result.ScenarioResults.Add(scenarioResult);

            features.Add(result);

            return features;
        }
Пример #3
0
 private void AddStepToErrorList(FeatureResult featureResult, ScenarioResult scenarioResult, StepResult stepResult)
 {
     try
     {
         ErrorListProvider errorProvider = GetErrorListProvider();
         ErrorTask error = new ErrorTask();
         error.Category = TaskCategory.BuildCompile;
         error.Text = string.Format("The step \"{0}\" failed in scenario \"{1}\" for the feature \"{2}\"", stepResult.Name, scenarioResult.Name, featureResult.Name);
         errorProvider.Tasks.Add(error);
     }
     catch (InvalidOperationException)
     { }
 }
Пример #4
0
 private void AddStepToTaskList(FeatureResult featureResult, ScenarioResult scenarioResult, StepResult stepResult)
 {
     try
     {
         TaskProvider taskProvider = GetTaskListProvider();
         Task task = new Task();
         task.Category = TaskCategory.User;
         task.Text = string.Format("The step \"{0}\" is pending in scenario \"{1}\" for the feature \"{2}\"", stepResult.Name, scenarioResult.Name, featureResult.Name);
         taskProvider.Tasks.Add(task);
     }
     catch (InvalidOperationException)
     { }
 }