public void PublishedMessageIsCopiedOnlyOnceRegardlessOfNumberOfSubscribers() { // arrange var fakeTime = DateTime.UtcNow; TimeMachine.FixTo(fakeTime); SetUpSubscriberThatDoesNotAuditMessages("test.audit.subscriber1"); SetUpSubscriberThatDoesNotAuditMessages("test.audit.subscriber2"); SetUpSubscriberThatDoesNotAuditMessages("test.audit.subscriber3"); // act adapter.Bus.Publish("yo!"); // assert var messages = MsmqTestHelper.GetMessagesFrom(AuditQueueName).ToList(); Console.WriteLine(string.Join(Environment.NewLine, messages)); messages.Count.ShouldBe(4); var stringMessages = messages.Where(m => m.Messages[0] is string).ToList(); Assert.That(stringMessages.Count, Is.EqualTo(1), "We should have only one single copy of the published messages!"); }