コード例 #1
0
        public async Task ReturnEmptyDictionaryIfNoMetadata()
        {
            using var client = new Client.AlphaVantageClient(_apiKey);
            var response = await client.RequestParsedJsonAsync(
                ApiFunction.SYMBOL_SEARCH,
                new Dictionary <string, string>()
            {
                { "keywords", "BA" }
            },
                true);

            var metadata = response.ExtractMetaData();

            metadata.Should().NotBeNull().And.BeEmpty();
        }
コード例 #2
0
        public async Task ExtractMetaDataFromApiResponse()
        {
            var symbol   = "AAPL";
            var interval = "15min";

            using var client = new Client.AlphaVantageClient(_apiKey);
            var response = await client.RequestParsedJsonAsync(
                ApiFunction.TIME_SERIES_INTRADAY,
                new Dictionary <string, string>()
            {
                { "symbol", symbol },
                { "interval", interval }
            },
                true);

            var metadata = response.ExtractMetaData();

            metadata.Should().NotBeNull()
            .And.HaveCount(6)
            .And.ContainKeys(new[] { "Information", "Symbol", "Last Refreshed", "Interval", "Output Size", "Time Zone" })
            .And.ContainValues(symbol, interval, "Compact");
        }
コード例 #3
0
        public async Task ReturnJsonDocument_OnCorrectRequest_WithClean()
        {
            const ApiFunction function = ApiFunction.TIME_SERIES_INTRADAY;
            var query = GetQuery("AAPL", "15min");

            using var client = new Client.AlphaVantageClient(_apiKey);
            var response = await client.RequestParsedJsonAsync(function, query, true);

            response
            .Should().NotBeNull()
            .And
            .Match <JsonDocument>(
                resp => resp.RootElement.EnumerateObject()
                .LastOrDefault().NameEquals("Time Series (15min)")
                )
            .And
            .Match <JsonDocument>(
                resp => resp
                .RootElement.EnumerateObject().LastOrDefault()
                .Value.EnumerateObject().FirstOrDefault()
                .Value.EnumerateObject().FirstOrDefault()
                .NameEquals("open")
                );
        }