Ejemplo n.º 1
0
 protected internal virtual void CheckRequestForValidity(InstrumentMarketDataRequest request)
 {
     if (request == null)
     {
         throw new ArgumentNullException("request", "The InstrumentMarketDataRequest object can not be null");
     }
     if (String.IsNullOrWhiteSpace(request.Identifier))
     {
         throw new Exception(String.Format("The request's identifier property is null or blank."));
     }
 }
Ejemplo n.º 2
0
        public virtual AddQueueResponse Add(InstrumentMarketDataRequest request)
        {
            this.CheckRequestForValidity(request);

            var client = this.GetClient();
            var messageBody = this.GetMessageBody(request);
            var sendMessageRequest = new SendMessageRequest
                                         {
                                             MessageBody = messageBody,
                                         };
            var response = client.SendMessage(sendMessageRequest);
            return this.Convert(response);
        }
Ejemplo n.º 3
0
        public void Add_throws_if_identifier_is_null()
        {
            // arrange
            var queue = new MarketDataRequestQueue();
            var request = new InstrumentMarketDataRequest
            {
                Identifier = null,
                StartDate = DateTime.Now.AddDays(-1),
                EndDate = DateTime.Now.AddDays(-1),
            };

            // act
            Assert.Throws<Exception>(() => queue.Add(request));
        }
Ejemplo n.º 4
0
        public void Add_does_not_throw_exception()
        {
            // arrange
            var queue = new MarketDataRequestQueue();
            var request = new InstrumentMarketDataRequest
                              {
                                  Identifier = "SBUX",
                                  StartDate = DateTime.Now.AddDays(-1),
                                  EndDate = DateTime.Now.AddDays(-1),
                              };

            // act
            queue.Add(request);
        }
Ejemplo n.º 5
0
 public virtual IEnumerable<DailyInstrumentMarketData> GetMarketData(InstrumentMarketDataRequest request)
 {
     try
     {
         return this.HistoricalStockDataProvider.GetMarketData(request);
     }
     catch (NotFoundException nfe)
     {
         throw new WebRequestException(request, nfe.Url, nfe);
     }
     catch (Exception exc)
     {
         Log.LogException(exc);
         throw;
     }
 }
Ejemplo n.º 6
0
 public WebRequestException(InstrumentMarketDataRequest request, string url, Exception innerException)
     : base("", innerException)
 {
     _request = request;
     _url = url;
 }
 public void GetMarketData_throws_when_StartDate_is_null()
 {
     var provider = new HistoricalStockDataCsvProvider();
     var request = new InstrumentMarketDataRequest
                       {
                           Identifier = "MSFT",
                           StartDate = null,
                           EndDate = DateTime.Now.AddDays(-2),
                       };
     Assert.Throws<Exception>(() => provider.GetMarketData(request));
 }
        public void GetMarketData_returns_results_from_GetResults()
        {
            // arrange
            var request = new InstrumentMarketDataRequest {Identifier = "YHOO"};
            var expectedResults = new List<DailyInstrumentMarketData>();
            var provider = MockRepository.GenerateMock<HistoricalStockDataCsvProvider>();
            provider.Expect(p => p.GetMarketData(request)).CallOriginalMethod(OriginalCallOptions.CreateExpectation);
            provider.Expect(p => p.GetResults(null, null, null)).IgnoreArguments().Repeat.Once().Return(expectedResults);

            // act
            var actualResults = provider.GetMarketData(request);

            // assert
            Assert.That(actualResults, Is.EqualTo(expectedResults));
        }
 public void GetMarketData_does_not_throw()
 {
     var provider = new HistoricalStockDataCsvProvider();
     var identifier = MarketDataTestHelper.GetRandomIdentifer();
     var startDate = DateTime.Now.AddDays(-54);
     var endDate = startDate.AddDays(3);
     var request = new InstrumentMarketDataRequest
                       {
                           Identifier = identifier,
                           StartDate = startDate,
                           EndDate = endDate,
                       };
     provider.GetMarketData(request);
 }
Ejemplo n.º 10
0
 protected internal virtual string GetMessageBody(InstrumentMarketDataRequest request)
 {
     var serialized = request.SerializeToJson<InstrumentMarketDataRequest>();
     return serialized;
 }