Exemplo n.º 1
0
        public static void RunOneTest(LoadingData data, string testName)
        {
            Debugger.Log(DebuggerMessageType.UnityTest, "Starting test " + testName);
            var test = Dispatcher.Loader.GetTest(data, testName);
            var asserter = new UnityAsserter(testName);

            Action testAction = () => ExecuteTest(testName, test, asserter, MakeServerInfo(data));
            testAction.BeginInvoke(null, null);
        }
Exemplo n.º 2
0
 static void ExecuteTests(IEnumerable<string> testNames, LoadingData data)
 {
     Debugger.Log(DebuggerMessageType.UnityTest, "staring tests");
     foreach (var testName in testNames)
     {
         if (Dispatcher.UnityShutdown)
         {
             Debugger.Log(DebuggerMessageType.UnityTest, "unity shutdown! stop testing");
             break;
         }
         var asserter = new UnityAsserter(testName);
         Debugger.Log(DebuggerMessageType.UnityTest, "Test is ready");
         var test = Dispatcher.Loader.GetTest(data, testName);
         ExecuteTest(testName, test, asserter, MakeServerInfo(data));
     }
 }
Exemplo n.º 3
0
 static void ExecuteTest(string testName, ICvarcTest test, UnityAsserter asserter, NetworkData networkInfo)
 {
     try
     {
         test.Run(networkInfo, asserter);
         asserter.DebugOkMessage();
     }
     catch (Exception e)
     {
         asserter.Fail(e.GetType().Name + " " + e.Message);
     }
     lock (LastTestExecution)
     {
         LastTestExecution[testName] = !asserter.Failed;
     }
     Dispatcher.SetGameOver();
 }
Exemplo n.º 4
0
 static void ExecuteTest(string testName, ICvarcTest test, UnityAsserter asserter)
 {
     try
     {
         test.Run(WaitingNetworkServer, asserter);
     }
     catch (Exception e)
     {
         asserter.Fail(e.GetType().Name + " " + e.Message);
     }
     asserter.DebugOkMessage();
     lock (LastTestExecution)
     {
         LastTestExecution[testName] = !asserter.Failed;
     }
 }
Exemplo n.º 5
0
 public static void RunOneTest(LoadingData data, string testName)
 {
     Debugger.Log( DebuggerMessageType.Unity, "Starting test "+testName);
     var competitionsInstance = loader.GetCompetitions(data);
     var test = loader.GetTest(data, testName);
     var asserter = new UnityAsserter(testName);
     Dispatcher.WaitingNetworkServer.LoadingData = data;
     Action action = () =>
     {
         ExecuteTest(testName, test, asserter);
     };
     Dispatcher.RunThread(action, "test thread");
 }
Exemplo n.º 6
0
    public static void RunAllTests(LoadingData data)
    {
        var competitions = loader.GetCompetitions(data);
        var testsNames = competitions.Logic.Tests.Keys.ToArray();

        Action runOneTest = () =>
            {
                Debugger.Log(DebuggerMessageType.Unity, "staring tests");
                foreach(var testName in testsNames)
                {
                    var asserter = new UnityAsserter(testName);
                    Debugger.Log(DebuggerMessageType.Unity,"Test is ready");
                    Dispatcher.WaitingNetworkServer.LoadingData = data;
                    var test = loader.GetTest(data, testName);
                    ExecuteTest(testName, test, asserter);
                }
            };

        RunThread(runOneTest, "test runner");
        //ты умеешь запускать тесты, см. IntroductionScript
        //и ты знаешь, когда очередной тест закончился, тогда вызывается метод Exited
        //должен появится флаг тестового режима, и в этом режиме Exited должен запускать следующий тест. Если кончились, возвращение на Intro.
    }