public void PoolAllAndRelease() { //create pool var pool = new PoolTest(); //store all pooled objects var allPooledObjects = new List <PoolableObjectTest>(); //pool all the start size for (var i = 0; i < pool.StartSize; i++) { var obj = pool.Get(); allPooledObjects.Add(obj); } //assert the free objects list after pool Assert.True(pool.SizeFreeObjects == 0); //assert the busy objects list after pool Assert.True(pool.SizeBusyObjects == PoolTest.Size); foreach (var obj in allPooledObjects) { pool.Release(obj); } //assert the free objects list after pool Assert.True(pool.SizeFreeObjects == PoolTest.Size); //assert the busy objects list after pool Assert.True(pool.SizeBusyObjects == 0); }
public void ExceptionThrowsReleaseNullObject() { var pool = new PoolTest(); void releaseNull() => pool.Release(null); Assert.Throws <GenericPooler <PoolableObjectTest> .GenericPoolerArgumentException>(releaseNull); }
public void ReleaseObjects() { //create new pool var pool = new PoolTest(); //pool 1 object var obj = pool.Get(); //release pooled object pool.Release(obj); //assert the free objects list after pool Assert.True(pool.SizeFreeObjects == PoolTest.Size); //assert the busy objects list after pool Assert.True(pool.SizeBusyObjects == 0); }