public HattemSessionFactoryMock(
     ICommandProcessorFactory <HattemSessionMock> commandProcessorFactory,
     INotificationPublisher <HattemSessionMock> notificationPublisher,
     IQueryProcessorFactory <HattemSessionMock> queryProcessorFactory
     )
 {
     _commandProcessor      = commandProcessorFactory?.Create() ?? throw new ArgumentNullException(nameof(commandProcessorFactory));
     _queryProcessor        = queryProcessorFactory?.Create() ?? throw new ArgumentNullException(nameof(queryProcessorFactory));
     _notificationPublisher = notificationPublisher ?? throw new ArgumentNullException(nameof(notificationPublisher));
 }
 public SqlHattemSessionFactory(
     ICommandProcessorFactory <SqlHattemSession> commandProcessorFactory,
     INotificationPublisher <SqlHattemSession> notificationPublisher,
     IQueryProcessorFactory <SqlHattemSession> queryProcessorFactory,
     IDbConnectionFactory dbConnectionFactory
     )
 {
     _commandProcessor      = commandProcessorFactory?.Create() ?? throw new ArgumentNullException(nameof(commandProcessorFactory));
     _queryProcessor        = queryProcessorFactory?.Create() ?? throw new ArgumentNullException(nameof(queryProcessorFactory));
     _notificationPublisher = notificationPublisher ?? throw new ArgumentNullException(nameof(notificationPublisher));
     _dbConnectionFactory   = dbConnectionFactory ?? throw new ArgumentNullException(nameof(dbConnectionFactory));
 }