public static void Test_Event_Message_Routing_Stack_Can_Export_To_Other_Message() { //arrange Mock<PacketPayload> packet = new Mock<PacketPayload>(MockBehavior.Strict); RequestMessage message = new RequestMessage(packet.Object); //act message.Push(5); message.Push(4); message.Push(3); ResponseMessage rMessage = new ResponseMessage(packet.Object); //export routing stack message.ExportRoutingDataTo(rMessage); List<IRoutableMessage> Messages = new List<IRoutableMessage>() { rMessage, message }; foreach (IRoutableMessage m in Messages) { Assert.NotNull(m.Peek()); Assert.True(m.isMessageRoutable); Assert.AreEqual(3, m.Pop()); Assert.AreEqual(4, m.Pop()); Assert.AreEqual(5, m.Pop()); Assert.IsNull(m.Peek()); Assert.IsFalse(m.isMessageRoutable); } }