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)); }
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)); }
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 }
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 }