public void TestTakingAfterDispose()
        {
            var pool = new SocketAwaitablePool();

            pool.Dispose();
            pool.Take();
        }
        public void TestIteratingAfterDispose()
        {
            var pool = new SocketAwaitablePool();

            pool.Dispose();
            foreach (var awaitable in pool)
            {
            }
        }
        public void TestCopyingAfterDispose()
        {
            var pool = new SocketAwaitablePool(1);

            pool.Dispose();

            var array = new SocketAwaitable[1];

            (pool as ICollection).CopyTo(array, 0);
        }
        public void TestAddingAfterDispose()
        {
            var count = 20;
            var pool  = new SocketAwaitablePool(count);

            Assert.AreEqual(pool.Count, count);

            pool.Dispose();
            Assert.AreEqual(pool.Count, 0);

            var awaitable = new SocketAwaitable();

            Assert.IsFalse(awaitable.IsDisposed);

            pool.Add(awaitable);
            Assert.IsTrue(awaitable.IsDisposed);
        }
        public void TestCopyingAfterDispose()
        {
            var pool = new SocketAwaitablePool(1);
            pool.Dispose();

            var array = new SocketAwaitable[1];
            (pool as ICollection).CopyTo(array, 0);
        }
 public void TestIteratingAfterDispose()
 {
     var pool = new SocketAwaitablePool();
     pool.Dispose();
     foreach (var awaitable in pool)
     {
     }
 }
 public void TestTakingAfterDispose()
 {
     var pool = new SocketAwaitablePool();
     pool.Dispose();
     pool.Take();
 }
        public void TestAddingAfterDispose()
        {
            var count = 20;
            var pool = new SocketAwaitablePool(count);
            Assert.AreEqual(pool.Count, count);

            pool.Dispose();
            Assert.AreEqual(pool.Count, 0);

            var awaitable = new SocketAwaitable();
            Assert.IsFalse(awaitable.IsDisposed);

            pool.Add(awaitable);
            Assert.IsTrue(awaitable.IsDisposed);
        }