public void TrackToPersistentStore_CalledWithAggregateRootAlreadyBeingTracked_ExpectAggregateRootAlreadyBeingTrackedException()
 {
     using (var tracker = new LambdaPostPersistenceDomainEventTracker<AggregateRootWithTwoDomainEvents>())
     {
         var tracked = CreateAggregateRootTrackedBy(tracker, DummyPersistentObserver);
         tracker.Invoking(x => x.TrackToPersistentStore(tracked, DummyPersistentObserver))
             .ShouldThrow<AggregateRootAlreadyBeingTrackedException>();
     }
 }
 public void TrackToPersistentStore_CalledWithNullAggregateRoot_ExpectArgumentNullExceptionWithCorrectParamName()
 {
     using (var tracker = new LambdaPostPersistenceDomainEventTracker<object>())
     {
         tracker.Invoking(x => x.TrackToPersistentStore(null, DummyPersistentObserver))
             .ShouldThrow<ArgumentNullException>().And.ParamName.Should().Be("aggregateRoot");
     }
 }