public void DataSourceRealTimeWithInternetPriceTest(Country country, string stockId) { IConfiguration config = TestServiceProvider.GetTestConfiguration(); IStockQuoteDataSourceOperations operations = new StockQuoteDataSourceOperations(); IStockQuoteParser parser = new AlphaVantageParser(); AlphaVantageDataSource source = new AlphaVantageDataSource(config, operations, parser); IStockQuoteFromDataSource quote = source.GetMostRecentQuoteAsync(country, stockId, WriteToErrorLogAction).Result; Assert.NotNull(quote); Assert.True(quote.IsValid); }
public void ParseMultiQuotesEmptyInputTest() { Country country = Country.USA; string stockId = "HDV"; _isWriteToErrorLogActionRan = false; AlphaVantageParser parser = new AlphaVantageParser(); IReadOnlyList <IStockQuoteFromDataSource> quotes = parser.ParseMultiQuotes(country, stockId, null, WriteToErrorLogAction); Assert.Null(quotes); Assert.True(_isWriteToErrorLogActionRan); }
public void ParseSingleQuoteTest() { Country country = Country.USA; string stockId = "HDV"; AlphaVantageParser parser = new AlphaVantageParser(); string jsonContent = TestUtilities.ReadTestFile(Av5MinsJsonFile); IStockQuoteFromDataSource quote = parser.ParseSingleQuote(country, stockId, jsonContent, WriteToErrorLogAction); Assert.NotNull(quote); Assert.True(quote.IsValid); }
public void ParseSingleQuoteEmptyInputTest() { Country country = Country.USA; string stockId = "HDV"; AlphaVantageParser parser = new AlphaVantageParser(); _isWriteToErrorLogActionRan = false; IStockQuoteFromDataSource quote = parser.ParseSingleQuote(country, stockId, null, WriteToErrorLogAction); Assert.Null(quote); Assert.True(_isWriteToErrorLogActionRan); }
public void ParseMultiQuotesTest(string jsonFile) { Country country = Country.USA; string stockId = "HDV"; IStockQuoteParser parser = new AlphaVantageParser(); string jsonContent = TestUtilities.ReadTestFile(jsonFile); IReadOnlyList <IStockQuoteFromDataSource> quotes = parser.ParseMultiQuotes(country, stockId, jsonContent, WriteToErrorLogAction); Assert.NotNull(quotes); foreach (IStockQuoteFromDataSource quote in quotes) { Assert.True(quote.IsValid); } }
public void DataSourceDailyFullOutputWithInternetTest(Country country, string stockId) { IConfiguration config = TestServiceProvider.GetTestConfiguration(); DateTime start = DateTime.Now.AddDays(-600); DateTime end = DateTime.Now.AddDays(-300); IStockQuoteDataSourceOperations operations = new StockQuoteDataSourceOperations(); IStockQuoteParser parser = new AlphaVantageParser(); AlphaVantageDataSource source = new AlphaVantageDataSource(config, operations, parser); IReadOnlyList <IStockQuoteFromDataSource> quotes = source.GetHistoricalQuotesAsync(country, stockId, start, end, WriteToErrorLogAction).Result; Assert.NotNull(quotes); Assert.True(quotes.Count >= 206); foreach (IStockQuoteFromDataSource quote in quotes) { Assert.True(quote.IsValid); } }
private IStockQuoteDataSource CreateStockSource(Contracts.StockQuoteSource sourceKind) { switch (sourceKind) { case Contracts.StockQuoteSource.Yahoo: IStockQuoteParser yahooParser = new YahooFinanceParser(); return(new YahooFinanceDataSource(_configuration, _dataSourceOperations, yahooParser)); case Contracts.StockQuoteSource.AlphaVantage: IStockQuoteParser alphaVantageParser = new AlphaVantageParser(); return(new AlphaVantageDataSource(_configuration, _dataSourceOperations, alphaVantageParser)); case Contracts.StockQuoteSource.Test: // There is no test data source required break; default: throw new ArgumentOutOfRangeException(nameof(sourceKind), sourceKind, null); } return(null); }