public void CloudQueueClientListQueuesSegmentedWithPrefixAPMOverload() { CloudQueueClient client = GenerateCloudQueueClient(); string prefix = "dotnetqueuetest" + Guid.NewGuid().ToString("N"); List <string> queueNames = new List <string>(); int count = 3; for (int i = 0; i < count; i++) { queueNames.Add(prefix + i); } using (AutoResetEvent waitHandle = new AutoResetEvent(false)) { QueueContinuationToken token = null; List <CloudQueue> results = new List <CloudQueue>(); do { IAsyncResult result = client.BeginListQueuesSegmented(prefix, token, ar => waitHandle.Set(), null); waitHandle.WaitOne(); QueueResultSegment segment = client.EndListQueuesSegmented(result); results.AddRange(segment.Results); token = segment.ContinuationToken; }while (token != null); Assert.AreEqual <int>(0, results.Count); foreach (string name in queueNames) { client.GetQueueReference(name).Create(); } do { IAsyncResult result = client.BeginListQueuesSegmented(prefix, token, ar => waitHandle.Set(), null); waitHandle.WaitOne(); QueueResultSegment segment = client.EndListQueuesSegmented(result); results.AddRange(segment.Results); token = segment.ContinuationToken; }while (token != null); Assert.AreEqual <int>(results.Count, queueNames.Count); foreach (CloudQueue queue in results) { if (queueNames.Remove(queue.Name)) { queue.Delete(); } else { Assert.Fail(); } } Assert.AreEqual <int>(0, queueNames.Count); } }