public void MsmqLogWriter_Write_WritesToQueue() { if (System.Messaging.MessageQueue.Exists(_TestQueuePath)) { System.Messaging.MessageQueue.Delete(_TestQueuePath); } if (!System.Messaging.MessageQueue.Exists(_TestQueuePath)) { System.Messaging.MessageQueue.Create(_TestQueuePath, false); } using (var writeQueue = new System.Messaging.MessageQueue(_TestQueuePath, false, true, System.Messaging.QueueAccessMode.Send)) { writeQueue.Formatter = new MsmqXmlLogEventMessageFormatter(); var writer = new MsmqLogWriter(writeQueue); using (var readQueue = new System.Messaging.MessageQueue(_TestQueuePath, false, true, System.Messaging.QueueAccessMode.SendAndReceive)) { readQueue.Formatter = new MsmqXmlLogEventMessageFormatter(); var logEvent = new LogEvent() { EventName = "Test Event", Source = "Test Source" }; writer.Write(logEvent); var result = readQueue.Receive(TimeSpan.FromSeconds(5)); Assert.IsNotNull(result); var xdoc = System.Xml.Linq.XDocument.Parse(result.Body.ToString()); Assert.IsNotNull((from n in xdoc.Descendants("LogEvent") select n).FirstOrDefault()); } } }