[chronojump] guiTests better



commit 78e558580d6bd8965e6e7ed90ff42075c7397893
Author: Xavier de Blas <xaviblas gmail com>
Date:   Wed Aug 3 18:05:14 2016 +0200

    guiTests better

 src/gui/chronojump.cs |    6 ++-
 src/gui/encoder.cs    |   12 +++--
 src/gui/guiTests.cs   |  145 ++++++++++++++++++++-----------------------------
 3 files changed, 71 insertions(+), 92 deletions(-)
---
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 0a5d888..47de91e 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -2663,6 +2663,8 @@ public partial class ChronoJumpWindow
 
                if(reportWin != null)
                        reportWin.FillTreeView();
+               
+               chronojumpWindowTestsNext();
        }
        
        
@@ -3195,7 +3197,9 @@ public partial class ChronoJumpWindow
                        change_multitest_firmware(m);
                else
                        autoDetectChronopic(m); //will perform change_multitest_firmware at the end (except 
on POWERs)
+               
                        
+               chronojumpWindowTestsNext();
        }
        
        ChronopicDetect cpDetect;
@@ -6525,7 +6529,7 @@ LogB.Debug("X");
        }
 
        private void on_button_gui_tests_clicked (object o, EventArgs args) {
-               chronojumpWindowTests();
+               chronojumpWindowTestsStart();
        }
 
        private void on_about1_activate (object o, EventArgs args) {
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index f972cac..a537e1c 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -1284,10 +1284,6 @@ public partial class ChronoJumpWindow
 
                        encoderButtonsSensitive(encoderSensEnumStored);
                }
-               //guiT stuff
-               //end but wait two seconds to allow encoderCalculeCurves thread end
-               if(GuiTLoadSignalObject != null)
-                       GuiTLoadSignalObject.End(2);
        }
 
        protected void on_encoder_load_signal_row_edit (object o, EventArgs args) {
@@ -5560,6 +5556,7 @@ public partial class ChronoJumpWindow
                
                        if(action == encoderActions.CURVES_AC && radio_encoder_capture_cont.Active && ! 
encoderProcessFinishContMode)
                                on_button_encoder_capture_clicked (new object (), new EventArgs ());
+               
                } else { //ANALYZE
                        if(encoderProcessCancel) {
                                encoder_pulsebar_analyze.Text = Catalog.GetString("Cancelled");
@@ -5659,6 +5656,13 @@ public partial class ChronoJumpWindow
                Util.FileDelete(UtilEncoder.GetEncoderStatusTempBaseFileName() + "4.txt");
                Util.FileDelete(UtilEncoder.GetEncoderStatusTempBaseFileName() + "5.txt");
                Util.FileDelete(UtilEncoder.GetEncoderStatusTempBaseFileName() + "6.txt");
+                       
+               //for chronojumpWindowTests
+               LogB.Error("finishPulseBar DONE: " + action.ToString());
+               if(
+                               action == encoderActions.LOAD ||        //load 
+                               action == encoderActions.CURVES )       //recalculate
+                       chronojumpWindowTestsNext();
        }
 
        /*
diff --git a/src/gui/guiTests.cs b/src/gui/guiTests.cs
index 118a536..d0867b4 100644
--- a/src/gui/guiTests.cs
+++ b/src/gui/guiTests.cs
@@ -22,103 +22,75 @@ using System;
 using System.Collections; //ArrayList
 using System.Threading;
 
-public class GuiT 
+public partial class ChronoJumpWindow 
 {
-       protected enum StatusTypes { WAITING, RUNNING } //WAITING means waiting or done
-       protected StatusTypes status = StatusTypes.WAITING;
-       protected string message;
-
-       public GuiT() {
-       }
+       public static int TestNum;
+       public static bool TestsActive = false;
+       
+       //to repeat some actions
+       private static int bucleCount;
                
-       protected void logStart() {
-               LogB.TestStart(message);
-       }
-       protected void logEnd() {
-               LogB.TestEnd(message);
-       }
-
-       //called from chronojump gui
-       public void End(int seconds) 
+       
+       private void chronojumpWindowTestsStart() 
        {
-               LogB.Information("End (sleep start)");
-               Thread.Sleep(seconds*1000);
+               TestsActive = true;
+               TestNum = 0;
+               bucleCount = 10;
 
-               LogB.Information("End (changing to waiting)");
-               status = StatusTypes.WAITING;
-               LogB.Information("End (changed to waiting)");
+               chronojumpWindowTestsDo();
        }
-
-       public void WaitEnd() {
-               LogB.Information("at waitEnd");
-               while(status == StatusTypes.RUNNING)
-                       Thread.Sleep(50);
-               
-               LogB.Information("ended waitEnd");
-
-               logEnd();
-       }
-}      
-
-public class GuiTLoadSignal : GuiT 
-{
-
-       public GuiTLoadSignal() 
+       private void chronojumpWindowTestsNext() 
        {
-               message = "guiTLoadSignal";
-               status = StatusTypes.RUNNING;
-               logStart();
-       }
-}      
+               if(TestsActive) 
+               {
+                       TestNum ++;
 
-public partial class ChronoJumpWindow 
-{
-       public GuiTLoadSignal GuiTLoadSignalObject;
-
-       private void chronojumpWindowTests() 
-       {
-               chronojumpWindowTestsMode(Constants.Menuitem_modes.POWERINERTIAL);
-               
-               //using tutorial (or demo) session
-               chronojumpWindowTestsLoadSession(); //this also selects first person
-               
-               chronojumpWindowTestsSelectPerson(1); //select 2nd person (Giles)
-               
-               chronojumpWindowTestsEncoderLoadSignal();
-
-//             chronojumpWindowTestsWaitS(4);
-
-//             chronojumpWindowTestsEncoderEccConInvert();
+                       if(bucleCount > 0 && TestNum == 6) {
+                               TestNum = 4;
+                               bucleCount --;
+                       }
 
-//             chronojumpWindowTestsWaitS(1);
-               
-//             chronojumpWindowTestsEncoderRecalculate();
-               
-//             chronojumpWindowTestsWaitS(4);
-
-/*
-               chronojumpWindowTestsEncoderEccConInvert();
-               chronojumpWindowTestsEncoderRecalculate();
-*/
-
-               /*
-               chronojumpWindowTestsEncoderSave(EncoderAutoSaveCurve.ALL);
-               chronojumpWindowTestsEncoderSave(EncoderAutoSaveCurve.NONE);
-               chronojumpWindowTestsEncoderSave(EncoderAutoSaveCurve.BEST);
-               chronojumpWindowTestsEncoderSave(EncoderAutoSaveCurve.FROM4TOPENULTIMATE);
-               */
+                       chronojumpWindowTestsDo();
+               }
        }
-               
-       private void chronojumpWindowTestsWaitS(int seconds)
+       private void chronojumpWindowTestsDo() 
        {
-               LogB.TestStart("chronojumpWindowTestsWaitS");
-
-               Thread.Sleep(1000 * seconds);
+               LogB.Information("TestNum: " + TestNum.ToString());
                
-               LogB.TestEnd("chronojumpWindowTestsWaitS");
+               //if process is very fast (no threads, no GUI problems) just call next from this method
+               bool callNext = false;
+
+               switch(TestNum) {
+                       case 0:
+                               chronojumpWindowTestsMode(Constants.Menuitem_modes.POWERINERTIAL);
+                               break;
+                       case 1:
+                               chronojumpWindowTestsLoadSession(); //this also selects first person
+                               break;
+                       case 2:
+                               chronojumpWindowTestsSelectPerson(1); //select 2nd person (Giles)
+                               callNext = true;
+                               break;
+                       case 3:
+                               chronojumpWindowTestsEncoderLoadSignal();
+                               break;
+                       case 4:
+                               chronojumpWindowTestsEncoderEccConInvert();
+                               callNext = true;
+                               break;
+                       case 5:
+                               chronojumpWindowTestsEncoderRecalculate();
+                               break;
+                       case 6:
+                               LogB.Information("ALL TESTS DONE");
+                               break;
+               }
+
+               if(callNext)            
+                       chronojumpWindowTestsNext(); //TODO: move from here
        }
 
-               
+
        private void chronojumpWindowTestsMode(Constants.Menuitem_modes m) 
        {
                LogB.TestStart("chronojumpWindowTestsMode", m.ToString());
@@ -152,8 +124,7 @@ public partial class ChronoJumpWindow
 
        private void chronojumpWindowTestsEncoderLoadSignal()
        {
-               GuiTLoadSignalObject = new GuiTLoadSignal();
-               //LogB.TestStart("chronojumpWindowTestsLoadSignal");
+               LogB.TestStart("chronojumpWindowTestsLoadSignal");
 
                ArrayList data = encoderLoadSignalData(); //selects signals of this person, this session, 
this encoderGI
                EncoderSQL es = (EncoderSQL) data[0]; //gets first
@@ -162,7 +133,7 @@ public partial class ChronoJumpWindow
 
                genericWin.Button_accept.Click(); //this will call accepted
 
-               GuiTLoadSignalObject.WaitEnd();
+               LogB.TestEnd("chronojumpWindowTestsLoadSignal");
        }
        
        private void chronojumpWindowTestsEncoderEccConInvert()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]