public void ConversationSendAndReceive() { IPEndPoint initiatorEndpoint = new IPEndPoint(IPAddress.Loopback, 6789); IPEndPoint responderEndpoint = new IPEndPoint(IPAddress.Loopback, 6788); UdpTransport initiatorCommunicator = new UdpTransport(initiatorEndpoint.Port); UdpTransport responderCommunicator = new UdpTransport(responderEndpoint.Port); SimpleRequestReplyInitiator convInitiator = new SimpleRequestReplyInitiator(initiatorCommunicator, responderEndpoint); SimpleRequestReplyResponder convResponder = new SimpleRequestReplyResponder(responderCommunicator); Assert.AreNotEqual(convResponder.Id, convInitiator.Id); Assert.IsFalse(ConversationManager.ConversationDictionary.ContainsKey(convInitiator.Id)); Assert.IsFalse(ConversationManager.ConversationDictionary.ContainsKey(convResponder.Id)); Assert.IsFalse(convResponder.IsActive); Assert.IsFalse(convInitiator.IsActive); convResponder.Start(); convInitiator.Start(); Thread.Sleep(5000); Assert.IsTrue(convResponder.IsActive); Assert.IsTrue(convInitiator.IsActive); Assert.IsNotNull(convInitiator.SentMessage); Assert.IsNotNull(convResponder.ReceivedMessage); Assert.AreNotEqual(convResponder.ReceivedMessages.Count, 0); Thread.Sleep(5000); Assert.IsNotNull(convResponder.SentMessage); Assert.IsNotNull(convInitiator.ReceivedMessage); Assert.AreNotEqual(convInitiator.ReceivedMessages.Count, 0); }
public void TestConversationNoCommunicator() { SimpleRequestReplyInitiator simple = new SimpleRequestReplyInitiator(); Assert.IsNotNull(simple); Assert.IsNull(simple.EventResponse); Assert.IsNull(simple.SentMessage); Assert.IsNotNull(simple.Properties); ConversationManager.PrimaryCommunicator = null; Assert.AreEqual(simple.Id.Pid, 0); Assert.AreEqual(simple.MaxRetries, (uint)5); Assert.AreEqual(simple.Timeout, 2000); simple.Start(); Thread.Sleep(250); Assert.IsTrue(simple.IsActive); simple.Stop(); Thread.Sleep(250); Assert.IsFalse(simple.IsActive); }