public void ExecuteActionWithoutHandShake_HandShakeRequirementInjected_ActionExecutedOnHandShake() { HandShake handshake = null; bool actionExecuted = false; var action = new SimpleAction(sa => actionExecuted = true); this.EventManager.Register(new Trigger<ActionHandShakeInqueryEvent<SimpleAction>>(evt => evt.Action.HandShakeRequired = true)); this.EventManager.Register(new Trigger<ActionStartingEvent<SimpleAction>>(evt => handshake = evt.HandShake)); this.ActionManager.Queue(action); this.ActionManager.ExecuteActions(); Assert.IsFalse(actionExecuted); handshake.PerformHandShake(); this.ActionManager.ExecuteActions(); Assert.IsTrue(actionExecuted); }
private void timer_Elapsed(object sender, ElapsedEventArgs e) { if (!single) timer.Start(); SimpleAction sa = new SimpleAction(_ => action()); sa.Failed += simpleAction_Failed; actman.Queue(sa); }
private void timer_Elapsed(object sender, ElapsedEventArgs e) { if (!single) lock(timer) timer.Start(); SimpleAction sa = new SimpleAction(_ => action()); sa.Failed += simpleAction_Failed; sa.PreExecution += sa_PreExecution; this.MakeActionChild(sa); this.ActionManager.Queue(sa); }