public void WhenRaisingAnEventItShouldBeUniquelyIdentifiedWhenSending() { var transport1 = Substitute.For<EventTransport>(); var transport2 = Substitute.For<EventTransport>(); var subject = new EventDistributor(null, null, new[] { transport1, transport2 }, () => new DateTime(2012, 11, 10, 09, 08, 07)); var actual = new DummyEvent(); subject.Raise(actual); transport1.Received().Send(Arg.Is<UniqueEvent<DummyEvent>>(_ => _.Identity != Guid.Empty)); transport1.Received().Send(Arg.Is<UniqueEvent<DummyEvent>>(_ => _.Event == actual)); }