public void PostRestartErrTest() { Exception e = null; var acts = new ActorSystem(); var act = acts.CreateActor<RestartFaultActor>(); try { acts.RestartActor(act); } catch (Exception ex) { e = ex; } Assert.IsNotNull(e); }
public void PostRestartTest() { var acts = new ActorSystem(); var act = acts.CreateActor<IntoTestActor>(); var tsk = act.Ask<int>(new statemsg()); tsk.Wait(); Assert.AreEqual(10, tsk.Result); acts.RestartActor(act); tsk = act.Ask<int>(new statemsg()); tsk.Wait(); Assert.AreEqual(15, tsk.Result); }
public void SimpleTestRestartActor() { var acts = new ActorSystem(); var act = acts.CreateActor<SimpleTestActor>(); var m = new statemsg() { newstate = 10 }; var tsk = act.Ask<int>(m); tsk.Wait(); m = new statemsg() { newstate = 10 }; tsk = act.Ask<int>(m); tsk.Wait(); Assert.AreEqual(10, tsk.Result); acts.RestartActor(act); m = new statemsg() { newstate = 10 }; tsk = act.Ask<int>(m); tsk.Wait(); Assert.AreEqual(0, tsk.Result); Console.WriteLine("test complete"); }
public void ChildHasStopedOrRestartedOnlyByParent() { var actf = new ActorSystem(); var act1 = actf.CreateActor<IerarhyTestActorOvveride>(); var tsk = act1.Ask<ActorRef>(new createchildactormsg()); tsk.Wait(); var act2 = tsk.Result; Assert.IsNotNull(act2); bool f = false; try { actf.StopActor(act2); } catch { f = true; } Assert.IsTrue(f); f = false; try { actf.RestartActor(act2); } catch { f = true; } Assert.IsTrue(f); }
public void RestartParentWithUserPredRestartNotStoppingChilds() { var actf = new ActorSystem(); var act1 = actf.CreateActor<IerarhyTestActorOvveride>(); var tsk = act1.Ask<ActorRef>(new createchildactormsg()); tsk.Wait(); var act2 = tsk.Result; Assert.IsNotNull(act2); actf.RestartActor(act1); bool f = false; try { act1.Ask<int>(new acttestmsg() { act = () => { return 0; } }) .Wait(100); } catch { f = true; } Assert.IsFalse(f); f = false; try { act2.Ask<int>(new acttestmsg() { act = () => { return 0; } }) .Wait(100); } catch { f = true; } Assert.IsFalse(f); }
public void PredRestartTest() { var actf = new ActorSystem(); var act = actf.CreateActor<PredRestartTestActor>(); var tsk = act.Ask<int>(new setstate() { x = 20 }); tsk.Wait(); tsk = act.Ask<int>(new getstate()); tsk.Wait(); Assert.AreEqual(20, tsk.Result); int savestate = 0; tsk = act.Ask<int>(new setpra() { pra = (state) => { savestate = state; } }); tsk.Wait(); actf.RestartActor(act); Assert.AreEqual(20, savestate); tsk = act.Ask<int>(new getstate()); tsk.Wait(); Assert.AreEqual(0, tsk.Result); }
public void FaultOnRestartStoppingActor() { bool f = false; var acts = new ActorSystem(); var act = acts.CreateActor<RestartFaultActor>(); try { acts.RestartActor(act); } catch { } var tsk = act.Ask<int>(new acttestmsg() { act = () => { return 0; } }); try { tsk.Wait(); } catch { f = true; } Assert.IsTrue(f); }