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); }