public async Task DequeueEmptyQueueTest() { var q = new MockReliableConcurrentQueue <int>(new Uri("test://queue")); using (var tx = _stateManager.CreateTransaction()) { Assert.IsFalse((await q.TryDequeueAsync(tx, timeout: TimeSpan.FromMilliseconds(20))).HasValue); } }
public async Task DequeueWithZeroTimeoutTest() { var q = new MockReliableConcurrentQueue <int>(new Uri("test://queue")); using (var tx = _stateManager.CreateTransaction()) { await q.EnqueueAsync(tx, 1); await tx.CommitAsync(); var result = await q.TryDequeueAsync(tx, timeout : TimeSpan.FromMilliseconds(0)); Assert.IsTrue(result.HasValue); Assert.AreEqual(1, result.Value); } }
public async Task DequeueOtherEnqueueTest() { var q = new MockReliableConcurrentQueue <int>(new Uri("test://queue")); using (var tx = _stateManager.CreateTransaction()) { await q.EnqueueAsync(tx, 1); await tx.CommitAsync(); } using (var tx = _stateManager.CreateTransaction()) { Task <ConditionalValue <int> > task = q.TryDequeueAsync(tx); Assert.AreEqual(1, (await task).Value); } }