@@ -17,17 +17,24 @@ public partial class TestRunnerWindow : Form
1717
1818 private const int IconSize = 24 ;
1919 private const int Steps = 1000 ;
20+ private const string StatusSuccess = "Success" ;
21+ private const string StatusFailure = "Failure" ;
22+ private const string StatusError = "Error" ;
23+ private const string StatusDisabled = "Disabled" ;
24+ private const string StatusWarning = "Warning" ;
2025
21- private readonly RealTimeTestRunner testRunner ;
2226 private readonly object pluginIntegration ;
2327 private readonly string username ;
2428 private readonly string password ;
2529 private readonly string database ;
2630 private readonly string connectAs ;
2731
2832 private readonly List < TestResult > testResults = new List < TestResult > ( ) ;
33+
2934 private BindingListView < TestResult > viewTestResults ;
3035
36+ private RealTimeTestRunner testRunner ;
37+
3138 private int totalNumberOfTests ;
3239 private int rowIndexOnRightClick ;
3340 private int completedTests ;
@@ -40,9 +47,6 @@ public TestRunnerWindow(object pluginIntegration, string username, string passwo
4047 this . database = database ;
4148 this . connectAs = connectAs ;
4249
43- testRunner = new RealTimeTestRunner ( ) ;
44- testRunner . Connect ( username , password , database ) ;
45-
4650 InitializeComponent ( ) ;
4751 }
4852
@@ -67,6 +71,9 @@ public async Task RunTestsAsync(string type, string owner, string name, string p
6771
6872 SetWindowTitle ( type , owner , name , procedure ) ;
6973
74+ testRunner = new RealTimeTestRunner ( ) ;
75+ testRunner . Connect ( username , password , database ) ;
76+
7077 try
7178 {
7279 testRunner . GetVersion ( ) ;
@@ -339,27 +346,27 @@ private void UpdateTestResult(@event @event)
339346 if ( counter . disabled > 0 )
340347 {
341348 testResult . Icon = IconChar . Ban . ToBitmap ( Color . Gray , IconSize ) ;
342- testResult . Status = "Disabled" ;
349+ testResult . Status = StatusDisabled ;
343350 }
344351 else if ( counter . success > 0 )
345352 {
346353 testResult . Icon = IconChar . Check . ToBitmap ( Color . Green , IconSize ) ;
347- testResult . Status = "Success" ;
354+ testResult . Status = StatusSuccess ;
348355 }
349356 else if ( counter . failure > 0 )
350357 {
351358 testResult . Icon = IconChar . TimesCircle . ToBitmap ( IconFont . Solid , IconSize , Color . Orange ) ;
352- testResult . Status = "Failure" ;
359+ testResult . Status = StatusFailure ;
353360 }
354361 else if ( counter . error > 0 )
355362 {
356363 testResult . Icon = IconChar . ExclamationCircle . ToBitmap ( Color . Red , IconSize ) ;
357- testResult . Status = "Error" ;
364+ testResult . Status = StatusError ;
358365 }
359366 else if ( counter . warning > 0 )
360367 {
361368 testResult . Icon = IconChar . ExclamationTriangle . ToBitmap ( Color . Orange , IconSize ) ;
362- testResult . Status = "Warning" ;
369+ testResult . Status = StatusWarning ;
363370 }
364371
365372 if ( @event . test . errorStack != null )
@@ -458,19 +465,19 @@ private void FilterTestResults()
458465 {
459466 if ( testResult . Status != null )
460467 {
461- if ( ! cbSuccess . Checked && testResult . Status . Equals ( "Success" ) )
468+ if ( ! cbSuccess . Checked && testResult . Status . Equals ( StatusSuccess ) )
462469 {
463470 return false ;
464471 }
465- if ( ! cbFailure . Checked && testResult . Status . Equals ( "Failure" ) )
472+ if ( ! cbFailure . Checked && testResult . Status . Equals ( StatusFailure ) )
466473 {
467474 return false ;
468475 }
469- if ( ! cbError . Checked && testResult . Status . Equals ( "Error" ) )
476+ if ( ! cbError . Checked && testResult . Status . Equals ( StatusError ) )
470477 {
471478 return false ;
472479 }
473- if ( ! cbDisabled . Checked && testResult . Status . Equals ( "Disabled" ) )
480+ if ( ! cbDisabled . Checked && testResult . Status . Equals ( StatusDisabled ) )
474481 {
475482 return false ;
476483 }
@@ -536,6 +543,26 @@ private void gridResults_SelectionChanged(object sender, EventArgs e)
536543
537544 gridTestFailures . Columns [ 0 ] . MinimumWidth = 480 ;
538545 gridTestFailures . Columns [ 1 ] . MinimumWidth = 480 ;
546+
547+ if ( ! Running )
548+ {
549+ if ( testResult . Status == null )
550+ {
551+ tabs . SelectedTab = tabTest ;
552+ }
553+ else if ( testResult . Status . Equals ( StatusFailure ) )
554+ {
555+ tabs . SelectedTab = tabFailures ;
556+ }
557+ else if ( testResult . Status . Equals ( StatusError ) )
558+ {
559+ tabs . SelectedTab = tabErrors ;
560+ }
561+ else
562+ {
563+ tabs . SelectedTab = tabTest ;
564+ }
565+ }
539566 }
540567 }
541568
0 commit comments