private void updateView(TestRunMessage message) { _syncContext.Post((s) => { lock (_padLock) { if (_newRunInitialized == true) { treeViewLastRun.Nodes.Clear(); _testCount = 0; } message.Results.All .Select(x => new CacheTestMessage(message.Results.Assembly, x)) .GroupBy(x => getFixture(x)).ToList() .ForEach(x => { var node = treeViewLastRun.Nodes.Add(string.Format("{0} ({1}) - {2} ms", x.Key, x.Count(), x.Sum(y => y.Test.TimeSpent.TotalMilliseconds))); x.ToList() .ForEach(y => { var child = node.Nodes.Add(string.Format("{0} ({1}) - {2} ms", getTestName(y.Test.DisplayName), y.Test.Runner, y.Test.TimeSpent.TotalMilliseconds)); child.ImageIndex = getImageIndex(y.Test.Status); child.SelectedImageIndex = child.ImageIndex; child.Tag = y; }); node.ImageIndex = x.Max(y => getImageIndex(y.Test.Status)); node.SelectedImageIndex = node.ImageIndex; if (radioButtonExpanded.Checked) node.ExpandAll(); _testCount += x.Count(); }); labelTestCount.Text = _testCount.ToString(); _newRunInitialized = false; } }, null); }
private void displayTestRunMessage(TestRunMessage message) { lock (_outputLock) { writeToOutput(message.Results.Assembly); var status = string.Format("{0} tests, {1} failed, {2} ignored", message.Results.All.Count(), message.Results.Failed.Count(), message.Results.Ignored.Count()); writeToOutput(status); foreach (var test in message.Results.Passed) writeToOutput(string.Format("({0}) {1} {2}", test.Runner, test.DisplayName, test.Status)); foreach (var test in message.Results.Ignored) writeToOutput(string.Format("({0}) {1} {2}", test.Runner, test.DisplayName, test.Status)); foreach (var test in message.Results.Failed) writeToOutput(string.Format("({0}) {1} {2}", test.Runner, test.DisplayName, test.Status)); if (message.Results.All.Count() > 10) writeToOutput(status); writeToOutput(""); } }