Ariadne.NUnitTests.PoolTests.Handle C# (CSharp) Метод

Handle() приватный Метод

private Handle ( ) : void
Результат void
        public void Handle()
        {
            bool called = false;
            var pool = new Pool<int>(() => {called = true; return 0;}, int.MaxValue, 2);
            Assert.IsTrue(called);
            called = false;
            Assert.AreEqual(2, pool.Count);
            using(var handle = pool.GetHandle())
                Assert.AreEqual(1, pool.Count);
            Assert.AreEqual(2, pool.Count);
            Assert.IsFalse(called);
            while(pool.Count != 0)
                pool.Get();
            using(var handle = pool.GetHandle())
            {
                Assert.IsTrue(called);
                Assert.AreEqual(0, pool.Count);
            }
            Assert.AreEqual(1, pool.Count);
            Assert.AreEqual(0, pool.Get());
            using(var handle = pool.GetHandle(() => 3))
                Assert.AreEqual(3, handle.Object);
        }