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); }
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)); } }
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(); }
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; } }
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"); }
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. }