public void SimpleTestAskContX() { bool f = false; int res = 0; var acts = new ActorSystem(); var act = acts.CreateActor<SimpleTestActor>(); var m = new acttestmsg() { act = () => { return 10; }, msg = "test message" }; Task<int> tsk = null; tsk = act.Ask<int>((x) => { res = x; if (tsk == null) return; if (tsk.IsCompleted) return; f = true; }, m); tsk.Wait(); Assert.IsTrue(f); Assert.AreEqual(10, res); Assert.AreEqual(10, tsk.Result); Console.WriteLine("test complete"); }
public void SimpleTestAskContXErr() { bool f = false; int res = 0; var acts = new ActorSystem(); var act = acts.CreateActor<SimpleTestActor>(); var m = new acttestmsg() { act = () => { return 10/res; }, msg = "test message" }; Task<int> tsk = null; tsk = act.Ask<int>((x) => { res = x; if (tsk == null) return; if (tsk.IsCompleted) return; f = true; }, m); try { tsk.Wait(); } catch (AggregateException ae) { } Assert.IsFalse(f); Assert.AreEqual(0, res); Assert.IsNotNull(tsk.Exception); Console.WriteLine("test complete"); }
public void SimpleTestTell() { bool f = false; var acts = new ActorSystem(); var act = acts.CreateActor<SimpleTestActor>(); var m = new acttestmsg() { act = () => { f = true; return 0; }, msg = "test message" }; act.Tell(m); while (!f) { Thread.SpinWait(0); } Console.WriteLine("test complete"); }
public void SimpleTestStopActor() { bool f = false; var acts = new ActorSystem(); var act = acts.CreateActor<SimpleTestActor>(); acts.StopActor(act); var m = new acttestmsg() { act = () => { f = true; return 0; }, msg = "test message" }; var tsk = act.Ask<int>(m); try { tsk.Wait(); } catch (AggregateException e) { } Assert.IsFalse(f); Assert.IsNotNull(tsk.Exception); Console.WriteLine("test complete"); }
public void SimpleTestAskWithoutContErr() { int res = 0; var acts = new ActorSystem(); var act = acts.CreateActor<SimpleTestActor>(); var m = new acttestmsg() { act = () => { return 10/res; }, msg = "test message" }; Task<int> tsk = null; tsk = act.Ask<int>(m); try { tsk.Wait(); } catch (AggregateException ae) { } Assert.IsNotNull(tsk.Exception); }
public void SimpleTestAskWithoutCont() { //int res = 0; var acts = new ActorSystem(); var act = acts.CreateActor<SimpleTestActor>(); var m = new acttestmsg() { act = () => { return 10 ; }, msg = "test message" }; Task<int> tsk = null; tsk = act.Ask<int>(m); tsk.Wait(); Assert.AreEqual(10, tsk.Result); }
public int handler2(acttestmsg msg) { Console.WriteLine(msg.msg); return msg.act(); }
public int handler4(acttestmsg msg) { return msg.act(); }
public void handler1(acttestmsg msg) { Console.WriteLine(msg.msg); msg.act(); }
public int h3(acttestmsg msg) { return msg.act(); }