internal void GivenBarDataRequest_WithNoBars_ReturnsQueryFailedMessage() { // Arrange var provider = new BarProvider( this.container, this.messagingAdapter, this.repository, this.barSerializer); provider.Start().Wait(); var barType = StubBarType.AUDUSD_OneMinuteAsk(); var query = new Dictionary <string, string> { { "DataType", "Bar[]" }, { "Symbol", barType.Symbol.Value }, { "Specification", barType.Specification.ToString() }, { "FromDateTime", StubZonedDateTime.UnixEpoch().ToString() }, { "ToDateTime", StubZonedDateTime.UnixEpoch().ToString() }, { "Limit", "0" }, }; var request = new DataRequest( query, Guid.NewGuid(), StubZonedDateTime.UnixEpoch()); // Act var response = provider.FindData(request); // Assert Assert.Equal(typeof(QueryFailure), response.Type); }
internal void GivenBarDataRequest_WithBars_ReturnsValidBarDataResponse() { // Arrange var provider = new BarProvider( this.container, this.messagingAdapter, this.repository, this.barSerializer); provider.Start().Wait(); var barType = StubBarType.AUDUSD_OneMinuteAsk(); var bar1 = StubBarProvider.Build(); var bar2 = StubBarProvider.Build(); this.repository.Add(barType, bar1); this.repository.Add(barType, bar2); var query = new Dictionary <string, string> { { "DataType", "Bar[]" }, { "Symbol", barType.Symbol.Value }, { "Specification", barType.Specification.ToString() }, { "FromDateTime", StubZonedDateTime.UnixEpoch().ToIso8601String() }, { "ToDateTime", StubZonedDateTime.UnixEpoch().ToIso8601String() }, { "Limit", "0" }, }; var request = new DataRequest( query, Guid.NewGuid(), StubZonedDateTime.UnixEpoch()); // Act var response = (DataResponse)provider.FindData(request); var bars = this.barSerializer.DeserializeBlob(response.Data); // Assert Assert.Equal(typeof(DataResponse), response.Type); Assert.Equal(2, bars.Length); Assert.Equal(bar1, bars[0]); Assert.Equal(bar2, bars[1]); }
public BarDataFrameTests(ITestOutputHelper output) : base(output) { // Fixture Setup this.stubBarType = StubBarType.AUDUSD_OneMinuteAsk(); }