示例#1
0
        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);
        }
示例#2
0
        private void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (!single)
                timer.Start();

            SimpleAction sa = new SimpleAction(_ => action());
            sa.Failed += simpleAction_Failed;

            actman.Queue(sa);
        }
示例#3
0
        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);
        }