Beispiel #1
0
        public void Query_Calls_Cache()
        {
            var cacheStrategy = new EquityInterDayMarketCacheStrategy(this._cache);
            var dataRequest   = MarketDataRequest.Null();

            cacheStrategy.Query(dataRequest);

            A.CallTo(() => this._cache.Get(dataRequest)).MustHaveHappenedOnceExactly();
        }
Beispiel #2
0
        public void Query_Returns_Interday_Market_Data_Response()
        {
            var cacheStrategy = new EquityInterDayMarketCacheStrategy(this._cache);
            var dataRequest   = MarketDataRequest.Null();

            var response = cacheStrategy.Query(dataRequest);

            Assert.IsNotNull(response);
            Assert.IsInstanceOf <EquityInterDayMarketDataResponse>(response);
        }
        public void Query_Request_Passed_To_Underlying_Cache()
        {
            var strategy          = new EquityIntraDayMarketCacheStrategy(this._cache);
            var marketDataRequest = MarketDataRequest.Null();

            var result = strategy.Query(marketDataRequest);

            Assert.IsNotNull(result);
            Assert.IsInstanceOf <EquityIntraDayMarketDataResponse>(result);
            A.CallTo(() => this._cache.GetForLatestDayOnly(marketDataRequest)).MustHaveHappenedOnceExactly();
        }
        public async Task Send_FactsetRequests_PassedToRepository()
        {
            var senderManager   = this.BuildRequestsSenderManager();
            var factsetRequests = new List <MarketDataRequest> {
                MarketDataRequest.Null()
            };

            await senderManager.Send(factsetRequests);

            A.CallTo(
                () => this._dailyBarRepository.GetWithTransientFaultHandlingAsync(
                    A <FactsetSecurityDailyRequest> .Ignored))
            .MustHaveHappenedOnceExactly();
        }
        public async Task Send_BmllRequests_ProjectRequestToKeys_Null_Returns_Success()
        {
            var sender       = this.BuildSenderManager();
            var bmllRequests = new List <MarketDataRequest> {
                MarketDataRequest.Null()
            };

            A.CallTo(() => this._marketDataRequestProjector.ProjectToRequestKeys(A <List <MarketDataRequest> > .Ignored))
            .Returns(null);

            var result = await sender.Send(bmllRequests, true);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Success);
            Assert.IsEmpty(result.Value);
        }
        public async Task Send_BmllRequests_OkProjectedKeys_Returns_Success()
        {
            var sender       = this.BuildSenderManager();
            var bmllRequests = new List <MarketDataRequest> {
                MarketDataRequest.Null()
            };

            var bmllRequestDtos = new List <MinuteBarRequestKeyDto>
            {
                new MinuteBarRequestKeyDto("a-figi", "1min", new DateTime(2019, 01, 01))
            };

            A.CallTo(() => this._marketDataRequestProjector.ProjectToRequestKeys(A <List <MarketDataRequest> > .Ignored))
            .Returns(bmllRequestDtos);

            A.CallTo(() => this._timeBarRepository.StatusMinuteBarsAsync(A <GetMinuteBarRequestStatusesRequest> .Ignored))
            .Returns(BmllStatusMinuteBarResult.Completed);

            var result = await sender.Send(bmllRequests, true);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Success);
            Assert.IsEmpty(result.Value);
        }