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));
        }
Exemple #2
0
        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);
        }
Exemple #4
0
        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"));
        }
Exemple #5
0
        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);
            }
        }
Exemple #7
0
        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);
            }
        }