/// <summary>
        /// Processes data requests, and returns the result. NB - This operation uses a dynamic limit on the number of
        /// rows returned based on the number and type of columns, use the provided cursor to paginate and retrieve all
        /// data.
        /// </summary>
        /// <param name="query">The sequence rows query.</param>
        /// <param name="token">Optional cancellation token.</param>
        /// <returns>Sequence read data.</returns>
        public async Task <SequenceData> ListRowsAsync(SequenceRowQuery query, CancellationToken token = default)
        {
            if (query is null)
            {
                throw new ArgumentNullException(nameof(query));
            }

            var req = Oryx.Cognite.Sequences.listRows <SequenceData>(query);

            return(await RunAsync(req, token).ConfigureAwait(false));
        }
        public async Task ListRowsAsync()
        {
            // Arrange
            var rowQuery = new SequenceRowQuery
            {
                Limit      = 10,
                ExternalId = "sdk-test"
            };

            // Act
            var res = await WriteClient.Sequences.ListRowsAsync(rowQuery);

            // Assert
            Assert.True(res.Columns.Any());
            Assert.Equal("sdk-test", res.ExternalId);
            Assert.Equal("sdk-test-column", res.Columns.First().Name);
        }