public async Task Return_Null_on_No_Next_Link()
        {
            var pagingService = new ODataPagingService();
            var requestInfo   = new RequestInformation();
            var pagingData    = new PageLinkData(requestInfo, null);

            var nextLink = await pagingService.GetNextPageLinkAsync(pagingData);

            Assert.Null(nextLink);
        }
        public async Task Return_Null_On_Next_Link_Missing()
        {
            var pagingService = new ODataPagingService();
            var bytes         = Encoding.UTF8.GetBytes("{}");

            using var ms = new MemoryStream(bytes);
            var requestInfo = new RequestInformation();
            var pagingData  = new PageLinkData(requestInfo, ms);

            var nextLink = await pagingService.GetNextPageLinkAsync(pagingData);

            Assert.Null(nextLink);
        }
        public async Task Return_Next_Link_From_Response()
        {
            var pagingService = new ODataPagingService();
            var bytes         = Encoding.UTF8.GetBytes("{\"nextLink\": \"https://testlink\"}");

            using var ms = new MemoryStream(bytes);
            var requestInfo = new RequestInformation();

            requestInfo.Headers.Add("Accept", "application/json");
            var pagingData = new PageLinkData(requestInfo, ms);

            pagingData.ResponseContentHeaders.Add("Content-Type", new string[] { "application/json" });

            var nextLink = await pagingService.GetNextPageLinkAsync(pagingData);

            Assert.Equal(new Uri("https://testlink"), nextLink);
        }