Exemple #1
0
        public void Init()
        {
            _timer             = new TestTimer(false);
            _eventMemoryCache  = new MemoryCache("EventCache");
            _profileCache      = new MemoryCache("ProfileCache");
            _statusMemoryCache = new MemoryCache("StatusCache");

            _cacheManager      = new CacheManager();
            _dataRouterManager = new TestDataRouterManager(_cacheManager);

            var sportEventCacheItemFactory = new SportEventCacheItemFactory(_dataRouterManager, new SemaphorePool(5), TestData.Culture, new MemoryCache("FixtureTimestampCache"));
            var profileCache = new ProfileCache(_profileCache, _dataRouterManager, _cacheManager);

            SportEventCache = new SportEventCache(_eventMemoryCache, _dataRouterManager, sportEventCacheItemFactory, _timer, TestData.Cultures3, _cacheManager);
            SportDataCache  = new SportDataCache(_dataRouterManager, _timer, TestData.Cultures3, SportEventCache, _cacheManager);

            var sportEventStatusCache   = new TestLocalizedNamedValueCache();
            var namedValuesProviderMock = new Mock <INamedValuesProvider>();

            namedValuesProviderMock.Setup(args => args.MatchStatuses).Returns(sportEventStatusCache);

            EventStatusCache = new SportEventStatusCache(_statusMemoryCache, new SportEventStatusMapperFactory(), SportEventCache, _cacheManager, TimeSpan.Zero);

            SportEntityFactory = new SportEntityFactory(SportDataCache, SportEventCache, EventStatusCache, sportEventStatusCache, profileCache, SdkInfo.SoccerSportUrns);
        }
        private void InitSportEventCache()
        {
            var testDataFetcher = new TestDataFetcher();

            _eventCache = new MemoryCache("test");
            var fixtureDeserializer  = new Deserializer <fixturesEndpoint>();
            var fixtureMapperFactory = new FixtureMapperFactory();

            var fixtureProvider = new DataProvider <fixturesEndpoint, FixtureDTO>(
                DirPath + FixtureXml,
                testDataFetcher,
                fixtureDeserializer,
                fixtureMapperFactory);

            var dateDeserializer  = new Deserializer <scheduleEndpoint>();
            var dateMapperFactory = new SportEventsScheduleMapperFactory();

            var dateProvider = new DateScheduleProvider(
                DirPath + ScheduleXml,
                DirPath + ScheduleXml,
                testDataFetcher,
                dateDeserializer,
                dateMapperFactory);

            // tournament schedule provider
            var tourDeserializer  = new Deserializer <tournamentScheduleEndpoint>();
            var tourMapperFactory = new TournamentScheduleMapperFactory();

            var tourProvider = new DataProvider <tournamentScheduleEndpoint, EntityList <MatchSummaryDTO> >(
                DirPath + TourXml,
                testDataFetcher,
                tourDeserializer,
                tourMapperFactory);

            var detailsDeserializer  = new Deserializer <matchSummaryEndpoint>();
            var detailsMapperFactory = new SportEventDetailsMapperFactory();

            var eventDetailsProvider = new DataProvider <matchSummaryEndpoint, SportEventDetailsDTO>(
                DirPath + DetailsXml,
                testDataFetcher,
                detailsDeserializer,
                detailsMapperFactory);

            var timer = new TestTimer(false);

            _sportEventCacheItemFactory = new SportEventCacheItemFactory(fixtureProvider, eventDetailsProvider, DefaultCulture);

            _sportEventCache = new SportEventCache(_eventCache, dateProvider, tourProvider, _sportEventCacheItemFactory, timer, Cultures);
        }