示例#1
0
 public override void Setup()
 {
     base.Setup();
     //initializes the Finite State Machine, so it doesn't affect any of the time-sensitive tests below
     fsm.Tell(new FSMBase.SubscribeTransitionCallBack(Self));
     expectMsg(new FSMBase.CurrentState <State>(fsm, State.Initial), FSMSpecHelpers.CurrentStateExpector <State>(), TimeSpan.FromSeconds(1));
 }
示例#2
0
 public FSMTimingSpec()
 //: base("akka.test.test-actor.dispatcher.type=Dispatcher" + FullDebugConfig)
 //: base("akka.test.test-actor.dispatcher.type=Dispatcher" + FullDebugConfig)
 //: base(FullDebugConfig)
 {
     //initializes the Finite State Machine, so it doesn't affect any of the time-sensitive tests below
     fsm.Tell(new FSMBase.SubscribeTransitionCallBack(Self));
     ExpectMsg(new FSMBase.CurrentState <State>(fsm, State.Initial), FSMSpecHelpers.CurrentStateExpector <State>(), TimeSpan.FromSeconds(1));
 }
示例#3
0
        public void FSMTransitionNotifier_must_not_fail_when_listener_goes_away()
        {
            //arrange
            var forward = Sys.ActorOf(Props.Create(() => new Forwarder(TestActor)));
            var fsm     = Sys.ActorOf(Props.Create(() => new MyFSM(TestActor)));

            //act
            Within(TimeSpan.FromSeconds(1), async() =>
            {
                fsm.Tell(new FSMBase.SubscribeTransitionCallBack(forward));
                ExpectMsg(new FSMBase.CurrentState <int>(fsm, 0), FSMSpecHelpers.CurrentStateExpector <int>());
                await forward.GracefulStop(TimeSpan.FromSeconds(5));
                fsm.Tell("tick");
                ExpectNoMsg(TimeSpan.FromMilliseconds(300));
                return(true);
            });

            //assert
        }
示例#4
0
        public void FSMTransitionNotifier_must_notify_listeners()
        {
            //arrange
            var fsm = Sys.ActorOf(Props.Create(() => new MyFSM(TestActor)));

            //act
            Within(TimeSpan.FromSeconds(1), () =>
            {
                fsm.Tell(new FSMBase.SubscribeTransitionCallBack(TestActor));
                ExpectMsg(new FSMBase.CurrentState <int>(fsm, 0), FSMSpecHelpers.CurrentStateExpector <int>());
                fsm.Tell("tick");
                ExpectMsg(new FSMBase.Transition <int>(fsm, 0, 1), FSMSpecHelpers.TransitionStateExpector <int>());
                fsm.Tell("tick");
                ExpectMsg(new FSMBase.Transition <int>(fsm, 1, 0), FSMSpecHelpers.TransitionStateExpector <int>());
                return(true);
            });

            //assert
        }