public void Setup()
        {
            this._logger          = A.Fake <ILogger <MarketOpenCloseEventService> >();
            this._repository      = A.Fake <IMarketOpenCloseApiCachingDecorator>();
            this._marketOpenClose = new ExchangeDto
            {
                Code              = "XLON",
                MarketOpenTime    = TimeSpan.FromHours(8),
                MarketCloseTime   = TimeSpan.FromHours(16).Add(TimeSpan.FromMinutes(30)),
                TimeZone          = "UTC",
                IsOpenOnMonday    = true,
                IsOpenOnTuesday   = true,
                IsOpenOnWednesday = true,
                IsOpenOnThursday  = true,
                IsOpenOnFriday    = true,
                IsOpenOnSaturday  = true,
                IsOpenOnSunday    = true
            };

            IReadOnlyCollection <ExchangeDto> testCollection = new List <ExchangeDto> {
                this._marketOpenClose
            };

            A.CallTo(() => this._repository.GetAsync()).Returns(Task.FromResult(testCollection));
        }
 public void Setup()
 {
     this._exchangeRateApi = A.Fake <IExchangeRateApiCachingDecorator>();
     this._marketApi       = A.Fake <IMarketOpenCloseApiCachingDecorator>();
     this._ruleApi         = A.Fake <IRuleParameterApi>();
     this._enrichmentApi   = A.Fake <IEnrichmentApi>();
     this._logger          = A.Fake <ILogger <ApiHeartbeat> >();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MarketOpenCloseEventService"/> class.
 /// </summary>
 /// <param name="marketOpenCloseRepository">
 /// The market open close repository.
 /// </param>
 /// <param name="logger">
 /// The logger.
 /// </param>
 public MarketOpenCloseEventService(
     IMarketOpenCloseApiCachingDecorator marketOpenCloseRepository,
     ILogger <MarketOpenCloseEventService> logger)
 {
     this.marketOpenCloseRepository = marketOpenCloseRepository
                                      ?? throw new ArgumentNullException(nameof(marketOpenCloseRepository));
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiHeartbeat"/> class.
 /// </summary>
 /// <param name="exchangeRateApi">
 /// The exchange rate.
 /// </param>
 /// <param name="marketRateApi">
 /// The market rate.
 /// </param>
 /// <param name="rulesApi">
 /// The rules.
 /// </param>
 /// <param name="enrichmentApi">
 /// The enrichment.
 /// </param>
 /// <param name="logger">
 /// The logger.
 /// </param>
 public ApiHeartbeat(
     IExchangeRateApiCachingDecorator exchangeRateApi,
     IMarketOpenCloseApiCachingDecorator marketRateApi,
     IRuleParameterApi rulesApi,
     IEnrichmentApi enrichmentApi,
     ILogger <ApiHeartbeat> logger)
 {
     this.exchangeRateApi = exchangeRateApi ?? throw new ArgumentNullException(nameof(exchangeRateApi));
     this.marketRateApi   = marketRateApi ?? throw new ArgumentNullException(nameof(marketRateApi));
     this.rulesApi        = rulesApi ?? throw new ArgumentNullException(nameof(rulesApi));
     this.enrichmentApi   = enrichmentApi ?? throw new ArgumentNullException(nameof(enrichmentApi));
     this.logger          = logger ?? throw new ArgumentNullException(nameof(logger));
 }
        public void Setup()
        {
            _logger             = A.Fake <ILogger>();
            _tradingLogger      = A.Fake <ILogger <TradingHistoryStack> >();
            _alertStream        = A.Fake <IUniverseAlertStream>();
            _ruleCtx            = A.Fake <ISystemProcessOperationRunRuleContext>();
            _operationCtx       = A.Fake <ISystemProcessOperationContext>();
            _equitiesParameters = new LayeringRuleEquitiesParameters("id", TimeSpan.FromMinutes(30), 0.2m, null, null, null, false, true);

            _orderFilter = A.Fake <IUniverseOrderFilter>();
            A.CallTo(() => _orderFilter.Filter(A <IUniverseEvent> .Ignored)).ReturnsLazily(i => (IUniverseEvent)i.Arguments[0]);

            _ruleRunRepository        = A.Fake <IRuleRunDataRequestRepository>();
            _stubRuleRunRepository    = A.Fake <IStubRuleRunDataRequestRepository>();
            _equityFactoryLogger      = A.Fake <ILogger <UniverseEquityMarketCacheFactory> >();
            _equityFactory            = new UniverseEquityMarketCacheFactory(_stubRuleRunRepository, _ruleRunRepository, _equityFactoryLogger);
            _fixedIncomeFactoryLogger = A.Fake <ILogger <UniverseFixedIncomeMarketCacheFactory> >();
            _fixedIncomeFactory       = new UniverseFixedIncomeMarketCacheFactory(_stubRuleRunRepository, _ruleRunRepository, _fixedIncomeFactoryLogger);
            _tradingHoursService      = A.Fake <IMarketTradingHoursService>();

            _tradingHoursRepository = A.Fake <IMarketOpenCloseApiCachingDecorator>();
            A.CallTo(() => _tradingHoursRepository.GetAsync())
            .Returns(
                new ExchangeDto[]
            {
                new ExchangeDto
                {
                    Code              = "XLON",
                    MarketOpenTime    = TimeSpan.FromHours(8),
                    MarketCloseTime   = TimeSpan.FromHours(16),
                    IsOpenOnMonday    = true,
                    IsOpenOnTuesday   = true,
                    IsOpenOnWednesday = true,
                    IsOpenOnThursday  = true,
                    IsOpenOnFriday    = true,
                    IsOpenOnSaturday  = true,
                    IsOpenOnSunday    = true,
                }
            });

            A.CallTo(() => _ruleCtx.EndEvent()).Returns(_operationCtx);
        }
 public void Setup()
 {
     this._marketOpenCloseRepository = A.Fake <IMarketOpenCloseApiCachingDecorator>();
     this._logger = new NullLogger <MarketTradingHoursService>();
 }