예제 #1
0
 public void ReceiveWaitTimeOut2Test()
 {
     TestLauncherActor.Test(() =>
     {
         var actor      = new ReceiveActor <int, string>();
         var target     = new TargetActor();
         var resultEven = actor.WaitAsync((IActor)target, 2, 2000);
         Assert.IsTrue(resultEven.Result.Item2 == "even");
     });
 }
예제 #2
0
 public void ReceiveWaitTimeOut1Test()
 {
     TestLauncherActor.Test(() =>
     {
         var actor     = new ReceiveActor <int, string>();
         var target    = new TargetActor();
         var resultOdd = actor.WaitAsync(target, 1, 10000);
         Assert.IsTrue(resultOdd.Result.Item2 == "odd");
     });
 }
예제 #3
0
 public void ReceiveWait4Test()
 {
     TestLauncherActor.Test(() =>
     {
         var actor      = new ReceiveActor <int>();
         var target     = new TargetActor2();
         var resultEven = actor.WaitAsync(target, 2);
         Assert.IsTrue(resultEven.Result.Item2 == 4);
     });
 }
예제 #4
0
 public void ReceiveWaitTimeOut3Test()
 {
     TestLauncherActor.Test(() =>
     {
         var actor      = new ReceiveActor <int>();
         var target     = new TargetActor2();
         var resultEven = actor.Wait((IActor)target, 1, 2000);
         Assert.IsTrue(resultEven.Result.Item2 == 2);
     });
 }
예제 #5
0
 public ReduceActor(int qtt) : base()
 {
     fSum  = 0;
     fWait = new ReceiveActor <string>();
     Become(new Behavior <int>(t =>
     {
         fSum += t;
         fCount++;
         if (fCount >= qtt)
         {
             fWait.SendMessage(this, "Finish");
         }
     }));
 }