11using System . ComponentModel ;
2+ using System . Drawing ;
23using System . Threading ;
34using System . Windows . Forms ;
45using utPLSQL ;
@@ -9,6 +10,7 @@ public partial class RealTimeTestResultWindow : Form
910 {
1011 private readonly RealTimeTestRunner testRunner ;
1112 private BindingList < TestResult > testResults = new BindingList < TestResult > ( ) ;
13+ private int totalNumberOfTests ;
1214
1315 public RealTimeTestResultWindow ( RealTimeTestRunner testRunner )
1416 {
@@ -20,21 +22,22 @@ public RealTimeTestResultWindow(RealTimeTestRunner testRunner)
2022 gridResults . DataSource = bindingSource ;
2123
2224 gridResults . Columns [ 0 ] . MinimumWidth = 50 ;
23- gridResults . Columns [ 1 ] . MinimumWidth = 422 ;
25+ gridResults . Columns [ 1 ] . MinimumWidth = 424 ;
2426 gridResults . Columns [ 2 ] . MinimumWidth = 50 ;
2527 gridResults . Columns [ 3 ] . MinimumWidth = 440 ;
2628 }
2729
2830 internal void RunTests ( string type , string owner , string name , string subType )
2931 {
30- lblStatus . Text = "" ;
31-
3232 txtTests . Text = "" ;
3333 txtFailures . Text = "" ;
3434 txtErrors . Text = "" ;
3535 txtDisabled . Text = "" ;
36+ txtStatus . Text = "" ;
3637 txtTime . Text = "" ;
3738
39+ txtBar . BackColor = Control . DefaultBackColor ;
40+
3841 testResults . Clear ( ) ;
3942
4043 if ( WindowState == FormWindowState . Minimized )
@@ -45,30 +48,45 @@ internal void RunTests(string type, string owner, string name, string subType)
4548
4649 new Thread ( ( ) =>
4750 {
51+ var completetedTests = 0 ;
52+
4853 testRunner . RunTests ( type , owner , name , subType ) ;
4954 testRunner . ConsumeResult ( @event =>
5055 {
5156 gridResults . BeginInvoke ( ( MethodInvoker ) delegate ( )
5257 {
5358 if ( @event . type . Equals ( "pre-run" ) )
5459 {
55- lblStatus . Text = "Running..." ;
60+ txtStatus . Text = "Running..." ;
5661
62+ totalNumberOfTests = @event . totalNumberOfTests ;
5763 CreateTestResults ( @event ) ;
5864 }
5965 else if ( @event . type . Equals ( "post-test" ) )
6066 {
6167 UpdateTestResult ( @event ) ;
68+
69+ completetedTests ++ ;
70+ txtTests . Text = ( completetedTests > totalNumberOfTests ? totalNumberOfTests : completetedTests ) + "/" + totalNumberOfTests ;
6271 }
6372 else if ( @event . type . Equals ( "post-run" ) )
6473 {
65- lblStatus . Text = "Finished" ;
66-
67- txtTests . Text = "" + ( @event . run . counter . disabled + @event . run . counter . success + @event . run . counter . failure + @event . run . counter . error + @event . run . counter . warning ) ;
68- txtFailures . Text = "" + @event . run . counter . failure ;
69- txtErrors . Text = "" + @event . run . counter . error ;
70- txtDisabled . Text = "" + @event . run . counter . disabled ;
71- txtTime . Text = "" + @event . run . executionTime ;
74+ txtStatus . Text = "Finished" ;
75+
76+ txtTests . Text = ( completetedTests > totalNumberOfTests ? totalNumberOfTests : completetedTests ) + "/" + totalNumberOfTests ;
77+ txtFailures . Text = @event . run . counter . failure + "" ;
78+ txtErrors . Text = @event . run . counter . error + "" ;
79+ txtDisabled . Text = @event . run . counter . disabled + "" ;
80+ txtTime . Text = @event . run . executionTime + "" ;
81+
82+ if ( @event . run . counter . failure == 0 && @event . run . counter . error == 0 )
83+ {
84+ txtBar . BackColor = Color . Green ;
85+ }
86+ else
87+ {
88+ txtBar . BackColor = Color . DarkRed ;
89+ }
7290
7391 }
7492 } ) ;
0 commit comments