Exemplo n.º 1
0
        public static void Init(TestContext context)
        {
            IUnityContainer container = new UnityContainer().EnableDiagnostic();
            var             config    = TestConfigurationInternal.GetConfig();

            _dispatcher = new Mock <IGlobalEventDispatcher>().Object;

            container.RegisterBaseTypes(config, null, null);

            // we need to override initial loading of bookmaker details and producers
            var bookmakerDetailsProviderMock = new Mock <BookmakerDetailsProvider>("bookmakerDetailsUriFormat",
                                                                                   new TestDataFetcher(),
                                                                                   new Deserializer <bookmaker_details>(),
                                                                                   new BookmakerDetailsMapperFactory());

            bookmakerDetailsProviderMock.Setup(x => x.GetData(It.IsAny <string>())).Returns(TestConfigurationInternal.GetBookmakerDetails());
            var defaultBookmakerDetailsProvider = bookmakerDetailsProviderMock.Object;

            container.RegisterInstance <IDataProvider <BookmakerDetailsDTO> >(defaultBookmakerDetailsProvider, new ContainerControlledLifetimeManager());
            container.RegisterInstance <BookmakerDetailsProvider>(defaultBookmakerDetailsProvider, new ContainerControlledLifetimeManager());

            //override
            container.RegisterType <IProducerManager, ProducerManager>(
                new ContainerControlledLifetimeManager(),
                new InjectionConstructor(
                    new TestProducersProvider(),
                    config));

            container.RegisterTypes(_dispatcher, config);

            //var x = container.Registrations.Where(w => w.MappedToType == typeof(ProducerManager));

            var newConfig = new OddsFeedConfigurationInternal(config, defaultBookmakerDetailsProvider);

            newConfig.Load();
            container.RegisterInstance <IOddsFeedConfiguration>(newConfig, new ContainerControlledLifetimeManager());
            container.RegisterInstance <IOddsFeedConfigurationInternal>(newConfig, new ContainerControlledLifetimeManager());

            container.RegisterAdditionalTypes();

            _childContainer1 = container.CreateChildContainer();
            _childContainer2 = container.CreateChildContainer();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="OddsFeedSession"/> class
        /// </summary>
        /// <param name="globalEventDispatcher">A <see cref="IGlobalEventDispatcher"/> used to dispatch global events</param>
        /// <param name="messageReceiver"> A <see cref="IMessageReceiver"/> used to provide feed messages</param>
        /// <param name="messageMapper">A <see cref="IFeedMessageMapper"/> used to map the feed messages to messages used by the SDK</param>
        /// <param name="messageValidator">A <see cref="IFeedMessageValidator"/> instance used to validate received messages</param>
        /// <param name="messageDataExtractor">A <see cref="IMessageDataExtractor"/> instance used to extract basic message data from messages which could not be deserialized</param>
        public FeedSystemSession(
            IGlobalEventDispatcher globalEventDispatcher,
            IMessageReceiver messageReceiver,
            IFeedMessageMapper messageMapper,
            IFeedMessageValidator messageValidator,
            IMessageDataExtractor messageDataExtractor)
        {
            Guard.Argument(globalEventDispatcher, nameof(globalEventDispatcher)).NotNull();
            Guard.Argument(messageReceiver, nameof(messageReceiver)).NotNull();
            Guard.Argument(messageMapper, nameof(messageMapper)).NotNull();
            Guard.Argument(messageValidator, nameof(messageValidator)).NotNull();
            Guard.Argument(messageDataExtractor, nameof(messageDataExtractor)).NotNull();

            _globalEventDispatcher = globalEventDispatcher;
            _messageReceiver       = messageReceiver;
            _messageValidator      = messageValidator;
            _messageMapper         = messageMapper;
            _messageDataExtractor  = messageDataExtractor;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="OddsFeedSession"/> class
        /// </summary>
        /// <param name="globalEventDispatcher">A <see cref="IGlobalEventDispatcher"/> used to dispatch global events</param>
        /// <param name="messageReceiver"> A <see cref="IMessageReceiver"/> used to provide feed messages</param>
        /// <param name="messageMapper">A <see cref="IFeedMessageMapper"/> used to map the feed messages to messages used by the SDK</param>
        /// <param name="messageValidator">A <see cref="IFeedMessageValidator"/> instance used to validate received messages</param>
        /// <param name="messageDataExtractor">A <see cref="IMessageDataExtractor"/> instance used to extract basic message data from messages which could not be deserialized</param>
        public FeedSystemSession(
            IGlobalEventDispatcher globalEventDispatcher,
            IMessageReceiver messageReceiver,
            IFeedMessageMapper messageMapper,
            IFeedMessageValidator messageValidator,
            IMessageDataExtractor messageDataExtractor)
        {
            Contract.Requires(globalEventDispatcher != null);
            Contract.Requires(messageReceiver != null);
            Contract.Requires(messageMapper != null);
            Contract.Requires(messageValidator != null);
            Contract.Requires(messageDataExtractor != null);

            _globalEventDispatcher = globalEventDispatcher;
            _messageReceiver       = messageReceiver;
            _messageValidator      = messageValidator;
            _messageMapper         = messageMapper;
            _messageDataExtractor  = messageDataExtractor;
        }