private void AssertReplyBehavior(IClientWaitLogic clientWaitLogic ) { var collector1 = new MessageCollector (); var collector2 = new MessageCollector (); var server = OpenServerWith(new AutoReplyRecipient ()); try { var client1 = OpenClient("client1", server); try { SetMessageRecipient(client1, collector1); var sender1 = MessageSender(client1); var client2 = OpenClient("client2", server); try { SetMessageRecipient(client2, collector2); var sender2 = MessageSender(client2); SendEvenOddMessages(sender1, sender2); clientWaitLogic.Wait(client1, client2); try { // Give the message processor thread time to dispatch the message. Thread.Sleep(100); } catch (Exception e) { Runtime.PrintStackTrace(e); } Assert.AreEqual("[reply: 0, reply: 2, reply: 4, reply: 6, reply: 8]", collector1. messages.ToString()); Assert.AreEqual("[reply: 1, reply: 3, reply: 5, reply: 7, reply: 9]", collector2. messages.ToString()); } finally { client2.Close(); } } finally { client1.Close(); } } finally { server.Close(); } }
private void AssertReplyBehavior(IClientWaitLogic clientWaitLogic ) { var collector1 = new MessageCollector (); var collector2 = new MessageCollector (); var server = OpenServerWith(new AutoReplyRecipient ()); try { var client1 = OpenClient("client1", server); try { SetMessageRecipient(client1, collector1); var sender1 = MessageSender(client1); var client2 = OpenClient("client2", server); try { SetMessageRecipient(client2, collector2); var sender2 = MessageSender(client2); SendEvenOddMessages(sender1, sender2); clientWaitLogic.Wait(client1, client2); try { // Give the message processor thread time to dispatch the message. Thread.Sleep(100); } catch (Exception e) { Runtime.PrintStackTrace(e); } Assert.AreEqual("[reply: 0, reply: 2, reply: 4, reply: 6, reply: 8]", collector1. messages.ToString()); Assert.AreEqual("[reply: 1, reply: 3, reply: 5, reply: 7, reply: 9]", collector2. messages.ToString()); } finally { client2.Close(); } } finally { client1.Close(); } } finally { server.Close(); } }