Esempio n. 1
0
        private void OnTestExecuted(object sender, EventArgs <TestResult> e)
        {
            //Update test item view model and state groups
            var testItem = TestSolution.FindChild(e.Value.Method);

            if (testItem != null)
            {
                //Clean up results from last run when the first result from next session arrives
                var oldItems = testItem.Result.Results
                               .Where(p => p.SessionId != e.Value.SessionId)
                               .ToArray();
                foreach (var oldItem in oldItems)
                {
                    testItem.Result.Results.Remove(oldItem);
                }

                //Add new results
                testItem.Result.Results.Add(e.Value);
                testItem.State = testItem.Result.Results.Max(p => p.Outcome);
                _testsExecuted++;

                var resultItem = testItem.CreateResultViewModel(e.Value);

                var stateGroup = _stateGroups[resultItem.State];
                stateGroup.Items.OrderedAdd(resultItem, (a, b) => StringComparer.OrdinalIgnoreCase.Compare(a.DisplayName, b.DisplayName));
            }

            //Update test execution state
            if (e.Value.Method == _testExecuting)
            {
                _testExecuting = null;
            }
            UpdateTestExecutionState();
        }
        private void OnTestExecuted(object sender, EventArgs <TestResult> e)
        {
            //Update test item view model and state groups
            var testItem = TestSolution.FindChild(e.Value.Method);

            if (testItem != null)
            {
                testItem.Result.Results.Add(e.Value);
                testItem.State = testItem.Result.Results.Max(p => p.Outcome);
                _testsExecuted++;

                var resultItem = testItem.CreateResultViewModel(e.Value);

                var stateGroup = StateGroups.FirstOrDefault(p => p.State == resultItem.State);
                if (stateGroup == null)
                {
                    stateGroup = new TestStateGroupViewModel(resultItem.State);
                    StateGroups.OrderedAdd(stateGroup, (a, b) => a.State.CompareTo(b.State));
                }

                stateGroup.Items.OrderedAdd(resultItem, (a, b) => StringComparer.OrdinalIgnoreCase.Compare(a.CodeItem.DisplayName, b.CodeItem.DisplayName));
            }

            //Update test execution state
            if (e.Value.Method == _testExecuting)
            {
                _testExecuting = null;
            }
            UpdateTestExecutionState();
        }
        public void SelectTestItem(TestMethod testMethod)
        {
            var item = TestSolution.FindChild(testMethod);

            if (item != null)
            {
                item.ExpandParents();
                item.IsSelected    = true;
                IsTestsTabSelected = true;
                SelectedTestItem   = item;
            }
        }