public void reponseTest() { SyncTriggerSystem system = createSystem(); SyncTask task = system.request(1, new EventContext("discover") { { "cards", new int[] { 1, 2, 3 } } }, 3, ALambda.doNothing, new FLambda <bool>(game => { EventContext context = game.trigger.currentTask.context; int[] cards = context.getVar <int[]>("cards"); int card = context.getVar <int>("card"); return(cards.Contains(card)); })); task = system.response(1, new EventContext("discover") { { "card", 4 } }); Assert.AreEqual(SyncTaskState.paused, task.state); task = system.response(2, new EventContext("discover") { { "card", 3 } }); Assert.AreEqual(SyncTaskState.paused, task.state); task = system.response(1, new EventContext("discover") { { "card", 3 } }); Assert.AreEqual(SyncTaskState.finished, task.state); }
public IEnumerator timeoutResponseTest() { SyncTriggerSystem system = createSystem(); SyncTask task = system.request(0, new EventContext("discover") { { "cards", new int[] { 1, 2, 3 } } }, 3, ALambda.doNothing); Assert.AreEqual(task, system.getPausedTasks()[0]); yield return(new WaitForSeconds(3)); Assert.AreEqual(0, system.getPausedTasks().Length); system.response(0, new EventContext("discover") { { "card", 3 } }); Assert.AreEqual(0, system.getPausedTasks().Length); }
public IEnumerator delayedResponseTest() { SyncTriggerSystem system = createSystem(); SyncTask task = system.request(0, new EventContext("discover") { { "cards", new int[] { 1, 2, 3 } } }, 3, ALambda.doNothing); Assert.AreEqual(task, system.getPausedTasks()[0]); yield return(new WaitForSeconds(1)); system.response(0, new EventContext("discover") { { "card", 3 } }); Assert.False(system.getPausedTasks().Contains(task)); Assert.AreEqual(SyncTaskState.finished, task.state); }