public void ParsingError_Test() { var json = File.ReadAllText("Data/bad-data.json"); var jObject = (JObject)JsonConvert.DeserializeObject(json); var parser = new StockDataParser(); Assert.Throws <StocksParsingException>(() => parser.ParseTimeSeries(jObject)); }
public AlphaVantageStocksClient(string apiKey) { if (string.IsNullOrWhiteSpace(apiKey)) { throw new ArgumentNullException(nameof(apiKey)); } _apiKey = apiKey; _coreClient = new AlphaVantageCoreClient(); _parser = new StockDataParser(); }
public void EndPoint_ParsingTest() { var json = File.ReadAllText("Data/endpoint-quote.json"); var jObject = (JObject)JsonConvert.DeserializeObject(json); var parser = new StockDataParser(); var result = parser.ParseEndPoint(jObject); Assert.NotNull(result); Assert.True( result.Symbol == "IBM" && result.Price == 125.11m); }
public void StockQuotes_ParsingTest() { var json = File.ReadAllText("Data/stock-quotes.json"); var jObject = (JObject)JsonConvert.DeserializeObject(json); var parser = new StockDataParser(); var result = parser.ParseStockQuotes(jObject); Assert.NotNull(result); Assert.Equal(3, result.Count); Assert.True( result.Any(r => r.Symbol == "MSFT") && result.Any(r => r.Symbol == "FB") && result.Any(r => r.Symbol == "AAPL")); }
public void SymbolSearch_ParsingTest() { var json = File.ReadAllText("Data/symbol-search.json"); var jObject = (JObject)JsonConvert.DeserializeObject(json); var parser = new StockDataParser(); var result = parser.ParseSymbolSearch(jObject); Assert.NotNull(result); Assert.Equal(3, result.Count); Assert.True( result.Any(r => r.Symbol == "BA") && result.Any(r => r.Symbol == "BAC") && result.Any(r => r.Symbol == "BABA")); }
public void WeeklyAdjusted_ParsingTest() { var json = File.ReadAllText("Data/weekly-adjusted.json"); var jObject = (JObject)JsonConvert.DeserializeObject(json); var parser = new StockDataParser(); var result = parser.ParseTimeSeries(jObject); Assert.NotNull(result); Assert.Equal(TimeSeriesType.Weekly, result.Type); Assert.True(result.IsAdjusted); Assert.Equal(3, result.DataPoints.Count); foreach (var resultDataPoint in result.DataPoints) { Assert.IsType <StockAdjustedDataPoint>(resultDataPoint); } }
public void DailyNotAdjusted_ParsingTest() { var json = File.ReadAllText("Data/daily-not-adjusted.json"); var jObject = (JObject)JsonConvert.DeserializeObject(json); var parser = new StockDataParser(); var result = parser.ParseTimeSeries(jObject); Assert.NotNull(result); Assert.Equal(TimeSeriesType.Daily, result.Type); Assert.False(result.IsAdjusted); Assert.Equal(3, result.DataPoints.Count); foreach (var resultDataPoint in result.DataPoints) { Assert.IsType(typeof(StockDataPoint), resultDataPoint); Assert.IsNotType(typeof(StockAdjustedDataPoint), resultDataPoint); } }