Пример #1
0
        public void OnMessage_CleanUp_OnSameThread()
        {
            LogActor actor = new LogActor { History = _history, FinishTest = _finishTest };
            int actorId = _runtime.AddActorToThread ("T1", actor);
            _runtime.SendMessage (actorId, 20, null, 4000);
            _finishTest.WaitOne ();
            _runtime.RemoveActor (actorId);
            _finishTest.WaitOne ();

            CollectionAssert.AreEquivalent (
                new string[] { "OnMessage T1 1 20 4000", "CleanUp T1 1" },
                _history
            );
        }
Пример #2
0
        public void CancelTimeout()
        {
            LogActor actor = new LogActor { History = _history, FinishTest = _finishTest };
            int actorId = _runtime.AddActorToThread("T1", actor);
            int timeout = _runtime.SendTimeout(actorId, TimeSpan.FromSeconds(0.5));
            Thread.Sleep(100);
            _runtime.CancelTimeout(timeout);
            Thread.Sleep(1000);

            CollectionAssert.AreEquivalent(
                new string[] {},
                _history
            );
        }
Пример #3
0
        public void SendTimeout()
        {
            LogActor actor = new LogActor {
                History = _history, FinishTest = _finishTest
            };
            int actorId = _runtime.AddActorToThread("T1", actor);

            _runtime.SendTimeout(actorId, TimeSpan.FromSeconds(0.2));
            _finishTest.WaitOne();

            CollectionAssert.AreEquivalent(
                new string[] { "OnMessage T1 1 4 0" },
                _history
                );
        }
Пример #4
0
        public void Shutdown_calls_CleanUp()
        {
            LogActor actor = new LogActor {
                History = _history, FinishTest = _finishTest
            };

            _runtime.AddActorToThread("T2", actor);
            _runtime.Dispose();
            _runtime = null;
            _finishTest.WaitOne();

            CollectionAssert.AreEquivalent(
                new string[] { "CleanUp T2 1" },
                _history
                );
        }
Пример #5
0
        public void CancelTimeout()
        {
            LogActor actor = new LogActor {
                History = _history, FinishTest = _finishTest
            };
            int actorId = _runtime.AddActorToThread("T1", actor);
            int timeout = _runtime.SendTimeout(actorId, TimeSpan.FromSeconds(0.5));

            Thread.Sleep(100);
            _runtime.CancelTimeout(timeout);
            Thread.Sleep(1000);

            CollectionAssert.AreEquivalent(
                new string[] {},
                _history
                );
        }
Пример #6
0
        public void OnMessage_CleanUp_OnSameThread()
        {
            LogActor actor = new LogActor {
                History = _history, FinishTest = _finishTest
            };
            int actorId = _runtime.AddActorToThread("T1", actor);

            _runtime.SendMessage(actorId, 20, null, 4000);
            _finishTest.WaitOne();
            _runtime.RemoveActor(actorId);
            _finishTest.WaitOne();

            CollectionAssert.AreEquivalent(
                new string[] { "OnMessage T1 1 20 4000", "CleanUp T1 1" },
                _history
                );
        }
Пример #7
0
        public void SendMessage_DifferentThread()
        {
            LogActor logActor = new LogActor {
                History = _history, FinishTest = _finishTest
            };
            int      actorId  = _runtime.AddActorToThread("T1", logActor);
            Resender resender = new Resender {
                Target = actorId
            };
            int resenderId = _runtime.AddActorToThread("T2", resender);

            _runtime.SendMessage(resenderId, 20, null, 4000);
            _finishTest.WaitOne();

            CollectionAssert.AreEquivalent(
                new string[] { "OnMessage T1 1 20 2" },
                _history
                );
        }
Пример #8
0
        public void Shutdown_calls_CleanUp()
        {
            LogActor actor = new LogActor { History = _history, FinishTest = _finishTest };
            _runtime.AddActorToThread ("T2", actor);
            _runtime.Dispose ();
            _runtime = null;
            _finishTest.WaitOne ();

            CollectionAssert.AreEquivalent (
                new string[] { "CleanUp T2 1" },
                _history
            );
        }
Пример #9
0
        public void SendTimeout()
        {
            LogActor actor = new LogActor { History = _history, FinishTest = _finishTest };
            int actorId = _runtime.AddActorToThread("T1", actor);
            _runtime.SendTimeout(actorId, TimeSpan.FromSeconds(0.2));
            _finishTest.WaitOne();

            CollectionAssert.AreEquivalent(
                new string[] { "OnMessage T1 1 4 0" },
                _history
            );
        }
Пример #10
0
        public void SendMessage_SameThread()
        {
            LogActor logActor = new LogActor { History = _history, FinishTest = _finishTest };
            int actorId = _runtime.AddActorToThread ("T1", logActor);
            Resender resender = new Resender { Target = actorId };
            int resenderId = _runtime.AddActorToThread("T1", resender);
            _runtime.SendMessage(resenderId, 20, null, 4000);
            _finishTest.WaitOne();

            CollectionAssert.AreEquivalent (
                new string[] { "OnMessage T1 1 20 2" },
                _history
            );
        }