public FeedProcessorTests()
 {
     _mockLogger = Mock.Of <ILogger <FeedProcessor> >(MockBehavior.Strict);
     _mockFeedProcessorConfiguration = Mock.Of <Configuration.IFeedProcessorConfiguration>(MockBehavior.Strict);
     _mockFeedReader     = Mock.Of <Interfaces.IFcsFeedReaderService>(MockBehavior.Strict);
     _mockQueuePopulator = Mock.Of <Interfaces.IContractEventSessionQueuePopulator>(MockBehavior.Strict);
     _mockCollector      = Mock.Of <IAsyncCollector <Message> >(MockBehavior.Strict);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FeedProcessor" /> class.
 /// </summary>
 /// <param name="fcsFeedReader">The FCS feed reader.</param>
 /// <param name="queuePopulator">The queue populator.</param>
 /// <param name="configuration">The configuration.</param>
 /// <param name="logger">The logger.</param>
 public FeedProcessor(
     IFcsFeedReaderService fcsFeedReader,
     IContractEventSessionQueuePopulator queuePopulator,
     IFeedProcessorConfiguration configuration,
     ILogger <FeedProcessor> logger)
 {
     _fcsFeedReader  = fcsFeedReader;
     _queuePopulator = queuePopulator;
     _configuration  = configuration;
     _logger         = logger;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ContractEventValidationService"/> class.
        /// </summary>
        /// <param name="configReader">Azure config loader.</param>
        /// <param name="options">Configuration options for the validation service.</param>
        /// <param name="logger">Logger Adapater to allow logging within the service.</param>
        public ContractEventValidationService(
            IFeedProcessorConfiguration configReader,
            IOptions <SchemaValidationSettings> options,
            ILoggerAdapter <ContractEventValidationService> logger)
        {
            _options      = options.Value;
            _configReader = configReader;
            _logger       = logger;

            if (_options.SchemaVersion == "11_03")
            {
                _logger.LogInformation($"[{nameof(ContractEventValidationService)}] Loading schema version 11.03.");
                _xmlSchema = ReadSchemaFile(_options.SchemaManifestFilename);
            }
            else
            {
                _logger.LogWarning($"[{nameof(ContractEventValidationService)}] - Active schema version is missing - Schema not loaded");
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ContractEventSessionQueuePopulator" /> class.
 /// </summary>
 /// <param name="eventProcessor">The event processor.</param>
 /// <param name="configuration">The configuration.</param>
 /// <param name="logger">The logger.</param>
 public ContractEventSessionQueuePopulator(IContractEventProcessor eventProcessor, IFeedProcessorConfiguration configuration, ILogger <ContractEventSessionQueuePopulator> logger)
 {
     _eventProcessor = eventProcessor;
     _configuration  = configuration;
     _logger         = logger;
 }