public void Build_Returns_High_Profits_Rule() { var factory = new EquityRuleHighProfitFactory( this._costCalculatorFactory, this._revenueCalculatorFactory, this._exchangeRateProfitCalculator, this._orderFilterService, this._equityMarketCacheFactory, this._fixedIncomeMarketCacheFactory, this._cacheStrategyFactory, this._currencyConverterService, this._logger, this._tradingHistoryLogger); var result = factory.Build( this._equitiesParameters, this._ruleCtxStream, this._ruleCtxMarket, this._dataRequestSubscriber, this._judgementService, this._scheduledExecution); Assert.IsNotNull(result); }
/// <summary> /// The test setup. /// </summary> private void Setup() { this.tradingHoursService = A.Fake <IMarketTradingHoursService>(); A.CallTo(() => this.tradingHoursService.GetTradingHoursForMic("XLON")).Returns( new TradingHours { CloseOffsetInUtc = TimeSpan.FromHours(16), IsValid = true, Mic = "XLON", OpenOffsetInUtc = TimeSpan.FromHours(8) }); A.CallTo(() => this.tradingHoursService.GetTradingHoursForMic("NASDAQ")).Returns( new TradingHours { CloseOffsetInUtc = TimeSpan.FromHours(23), IsValid = true, Mic = "NASDAQ", OpenOffsetInUtc = TimeSpan.FromHours(15) }); this.equityMarketCacheFactory = new UniverseEquityMarketCacheFactory( new StubRuleRunDataRequestRepository(), new StubRuleRunDataRequestRepository(), new NullLogger <UniverseEquityMarketCacheFactory>()); this.fixedIncomeMarketCacheFactory = new UniverseFixedIncomeMarketCacheFactory( new StubRuleRunDataRequestRepository(), new StubRuleRunDataRequestRepository(), new NullLogger <UniverseFixedIncomeMarketCacheFactory>()); this.universeOrderFilterService = A.Fake <IUniverseEquityOrderFilterService>(); this.logger = new NullLogger <HighProfitsRule>(); this.tradingLogger = new NullLogger <TradingHistoryStack>(); this.ruleContext = A.Fake <ISystemProcessOperationRunRuleContext>(); this.dataRequestSubscriber = A.Fake <IUniverseDataRequestsSubscriber>(); this.exchangeRateProfitCalculator = A.Fake <IExchangeRateProfitCalculator>(); this.marketDataCacheStrategyFactory = new EquityMarketDataCacheStrategyFactory(); this.costCalculatorFactory = new CostCalculatorFactory( new CurrencyConverterService( this.exchangeRateSelection.ExchangeRateRepository, new NullLogger <CurrencyConverterService>()), new NullLogger <CostCalculator>(), new NullLogger <CostCurrencyConvertingCalculator>()); this.revenueCalculatorFactory = new RevenueCalculatorFactory( this.tradingHoursService, new CurrencyConverterService( this.exchangeRateSelection.ExchangeRateRepository, new NullLogger <CurrencyConverterService>()), new NullLogger <RevenueCurrencyConvertingCalculator>(), new NullLogger <RevenueCalculator>()); this.equityRuleHighProfitFactory = new EquityRuleHighProfitFactory( this.costCalculatorFactory, this.revenueCalculatorFactory, this.exchangeRateProfitCalculator, this.universeOrderFilterService, this.equityMarketCacheFactory, this.fixedIncomeMarketCacheFactory, this.marketDataCacheStrategyFactory, new CurrencyConverterService( this.exchangeRateSelection.ExchangeRateRepository, new NullLogger <CurrencyConverterService>()), this.logger, this.tradingLogger); this.judgementRepository = A.Fake <IJudgementRepository>(); this.ruleViolationService = A.Fake <IRuleViolationService>(); this.judgementService = new JudgementService( this.judgementRepository, this.ruleViolationService, new HighProfitJudgementMapper(new NullLogger <HighProfitJudgementMapper>()), new FixedIncomeHighProfitJudgementMapper(new NullLogger <FixedIncomeHighProfitJudgementMapper>()), new FixedIncomeHighVolumeJudgementMapper(new NullLogger <FixedIncomeHighVolumeJudgementMapper>()), new NullLogger <JudgementService>()); this.exchangeRateProfitCalculator = A.Fake <IExchangeRateProfitCalculator>(); this.marketDataCacheStrategyFactory = new EquityMarketDataCacheStrategyFactory(); }