public async Task ThrowExceptionOnIncorrectRequest()
        {
            const ApiFunction function = ApiFunction.TIME_SERIES_INTRADAY;
            var query = GetQuery("wrong_symbol", "15min");

            using var client = new AlphaVantageClient(_apiKey);

            await Assert.ThrowsAsync <AlphaVantageException>(async() =>
            {
                await client.RequestParsedJsonAsync(function, query);
            });
        }
        public async Task ReturnJsonDocument_OnCorrectRequest_WithoutClean()
        {
            const ApiFunction function = ApiFunction.TIME_SERIES_INTRADAY;
            var query = GetQuery("AAPL", "15min");

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

            response
            .Should().NotBeNull()
            .And
            .Match <JsonDocument>(
                resp => resp.RootElement.EnumerateObject()
                .LastOrDefault().NameEquals("Time Series (15min)")
                );
        }
        public static async Task CoreDemo()
        {
            // use your AlphaVantage API key
            string apiKey = "6FQOAVODM8ZFCE3T";

            // there are 5 more constructors available
            using var client = new AlphaVantageClient(apiKey);

            // query for intraday time series for Apple Inc:
            var query = new Dictionary <string, string>()
            {
                { "symbol", "AAPL" },
                { "interval", "15min" }
            };

            // retrieve response as pure JSON string
            string stringResult = await client.RequestPureJsonAsync(ApiFunction.TIME_SERIES_INTRADAY, query);

            // retrieve response as parsed JsonDocument from System.Text.Json
            JsonDocument parsedResult = await client.RequestParsedJsonAsync(ApiFunction.TIME_SERIES_INTRADAY, query);
        }