Ejemplo n.º 1
0
        public void ChangeChannelTest()
        {
            bool         waiting  = true;
            const string channel1 = "channel1";
            const string channel2 = "channel2";
            const string channel3 = "channel3";

            const string          message           = "message";
            ITransmitter <string> stringTransmitter = StringChannel.CreateTransmitter(channel1);
            IReceiver <string>    stringReceiver    = StringChannel.CreateReceiver(channel2);

            stringReceiver.Received += (sender, args) => { waiting = false; };
            stringTransmitter.Send(message);

            Thread.Sleep(200);
            Assert.IsNull(stringReceiver.LastMessage);

            stringTransmitter.SetChannel(channel3);
            stringReceiver.SetChannel(channel3);

            stringTransmitter.Send(message);

            while (waiting)
            {
                Thread.Sleep(200);
            }

            Assert.IsNotNull(stringReceiver.LastMessage);
        }