Beispiel #1
0
        public void DequeueAll_WithoutResult_CompletesAllTasksWithDefaultResult()
        {
            var queue = new DefaultAsyncWaitQueue <object>() as IAsyncWaitQueue <object>;
            var task1 = queue.Enqueue();
            var task2 = queue.Enqueue();

            queue.DequeueAll().Dispose();
            Assert.AreEqual(default(object), task1.Result);
            Assert.AreEqual(default(object), task2.Result);
        }
Beispiel #2
0
        public void DequeueAll_SynchronouslyCompletesAllTasks()
        {
            var queue = new DefaultAsyncWaitQueue <object>() as IAsyncWaitQueue <object>;
            var task1 = queue.Enqueue();
            var task2 = queue.Enqueue();

            queue.DequeueAll();
            Assert.True(task1.IsCompleted);
            Assert.True(task2.IsCompleted);
        }
        public void DequeueAll_WithoutResult_SynchronouslyCompletesAllTasksWithDefaultResult()
        {
            IAsyncWaitQueue <object> queue = new DefaultAsyncWaitQueue <object>() as IAsyncWaitQueue <object>;
            Task <object>            task1 = queue.Enqueue();
            Task <object>            task2 = queue.Enqueue();

            queue.DequeueAll();
            Assert.Equal(default(object), task1.Result);
            Assert.Equal(default(object), task2.Result);
        }
Beispiel #4
0
        public void DequeueAll_WithResult_CompletesAllTasksWithResult()
        {
            var queue  = new DefaultAsyncWaitQueue <object>() as IAsyncWaitQueue <object>;
            var result = new object();
            var task1  = queue.Enqueue();
            var task2  = queue.Enqueue();

            queue.DequeueAll(result).Dispose();
            Assert.AreSame(result, task1.Result);
            Assert.AreSame(result, task2.Result);
        }
        public void DequeueAll_WithResult_CompletesAllTasksWithResult()
        {
            IAsyncWaitQueue <object> queue = new DefaultAsyncWaitQueue <object>() as IAsyncWaitQueue <object>;
            object        result           = new object();
            Task <object> task1            = queue.Enqueue();
            Task <object> task2            = queue.Enqueue();

            queue.DequeueAll(result);
            Assert.Same(result, task1.Result);
            Assert.Same(result, task2.Result);
        }
Beispiel #6
0
        public void DequeueAll_Disposed_CompletesAllTasks()
        {
            var queue  = new DefaultAsyncWaitQueue <object>() as IAsyncWaitQueue <object>;
            var task1  = queue.Enqueue();
            var task2  = queue.Enqueue();
            var finish = queue.DequeueAll();

            Assert.IsFalse(task1.IsCompleted);
            Assert.IsFalse(task2.IsCompleted);
            finish.Dispose();
            Assert.IsTrue(task1.IsCompleted);
            Assert.IsTrue(task2.IsCompleted);
        }
 public void DequeueAll_Disposed_CompletesAllTasks()
 {
     var queue = new DefaultAsyncWaitQueue<object>() as IAsyncWaitQueue<object>;
     var task1 = queue.Enqueue();
     var task2 = queue.Enqueue();
     var finish = queue.DequeueAll();
     Assert.IsFalse(task1.IsCompleted);
     Assert.IsFalse(task2.IsCompleted);
     finish.Dispose();
     Assert.IsTrue(task1.IsCompleted);
     Assert.IsTrue(task2.IsCompleted);
 }
 public void DequeueAll_WithResult_CompletesAllTasksWithResult()
 {
     var queue = new DefaultAsyncWaitQueue<object>() as IAsyncWaitQueue<object>;
     var result = new object();
     var task1 = queue.Enqueue();
     var task2 = queue.Enqueue();
     queue.DequeueAll(result).Dispose();
     Assert.AreSame(result, task1.Result);
     Assert.AreSame(result, task2.Result);
 }
 public void DequeueAll_WithoutResult_CompletesAllTasksWithDefaultResult()
 {
     var queue = new DefaultAsyncWaitQueue<object>() as IAsyncWaitQueue<object>;
     var task1 = queue.Enqueue();
     var task2 = queue.Enqueue();
     queue.DequeueAll().Dispose();
     Assert.AreEqual(default(object), task1.Result);
     Assert.AreEqual(default(object), task2.Result);
 }