Bottles.Services.Tests.Messaging.RemoteListenerTester.can_wait_for_a_condition C# (CSharp) Метод

can_wait_for_a_condition() приватный Метод

private can_wait_for_a_condition ( ) : void
Результат void
        public void can_wait_for_a_condition()
        {
            var hub = new MessagingHub();
            var listener = new RemoteListener(hub);

            var m1 = new Message(){Number = 1};
            var m2 = new Message() { Number = 2 };
            var m3 = new Message() { Number = 3 };
            var m4 = new Message() { Number = 4 };

            var result = listener.WaitForMessage<Message>(m => m.Number == 4, () => {
                Task.Factory.StartNew(() =>
                {
                    Thread.Sleep(100);
                    listener.SendObject(m1);
                    Thread.Sleep(100);
                    listener.SendObject(m2);
                    Thread.Sleep(100);
                    listener.SendObject(m3);
                    Thread.Sleep(100);
                    listener.SendObject(m4);
                });
            });

            result.ShouldEqual(m4);
            hub.Listeners.Any().ShouldBeFalse(); // want it to remove the condition as it goes
        }
RemoteListenerTester