public void QueryResultUserSuppliedContinuationTest() { // simulate json serialize/deserialize var serverQueryResult = new QueryResult() { Type = QueryResultType.Twin, Items = new List <Twin>() { new Twin() { DeviceId = "test", } }, ContinuationToken = "GYUVJDBJFKJ" }; var clientQueryResult = JsonConvert.DeserializeObject <QueryResult>(JsonConvert.SerializeObject(serverQueryResult)); // test string requestToken = string.Empty; IQuery q = new Query(t => { requestToken = t; return(Task.FromResult <QueryResult>(clientQueryResult)); }); // validate Assert.IsTrue(q.HasMoreResults); string userToken = "AEJGURIOJQ="; QueryResponse <Twin> r = q.GetNextAsTwinAsync(new QueryOptions { ContinuationToken = userToken }).Result; Assert.AreEqual(userToken, requestToken); Assert.AreEqual(serverQueryResult.ContinuationToken, r.ContinuationToken); Assert.AreEqual(1, r.Count()); Assert.IsInstanceOfType(r.ElementAt(0), typeof(Twin)); Assert.AreEqual("test", r.ElementAt(0).DeviceId); Assert.IsTrue(q.HasMoreResults); }