public PoolControllerTests() { _key = new TestKey { Identifier = 48635, }; _settings = new PoolControllerSettings { CallingReleaseOperationWillHappen = true, }; _noObjectDirection = new DirectionIfNoObjectIsAvailable<TestKey, TestResource>(); }
public PWSingleUseEnforcingWrapperTests() { _key = new TestKey { Identifier = 375, }; _goneObjectArgs = new GoneObjectEventArgs<TestKey, TestResource> { Reporter = new object(), Key = _key, PoolObject = new TestResource("gone"), }; }
public PoolItemTests() { _key = new TestKey { Identifier = 846853, }; _settings = new PoolItemSettings<TestKey> { Key = _key, MarkObtainedObjectAsNotAvailable = true, MaxObjectsCount = 100, ThrowIfCantCreateNewBecauseOfReachedLimit = false, }; }
public void ReleasingWasPromised_ControllerCanRecallKeyForEachObtainedValue() { _settings.CallingReleaseOperationWillHappen = true; _controller = new PoolController<TestKey, TestResource>(_settings, _successPoolMock.Object); TestResource outResource1; TestResource outResource2; TestResource outResource3; var key1 = new TestKey { Identifier = 100 }; var key2 = new TestKey { Identifier = 200 }; _controller.Obtain(key1, out outResource1, null); _controller.Obtain(key1, out outResource2, null); _controller.Obtain(key2, out outResource3, null); Assert.That(_controller.ObtainedObjectToItsKey[outResource1], Is.EqualTo(key1)); Assert.That(_controller.ObtainedObjectToItsKey[outResource2], Is.EqualTo(key1)); Assert.That(_controller.ObtainedObjectToItsKey[outResource3], Is.EqualTo(key2)); }
public void ReleaseWasCalled_PoolIsCalled() { _settings.CallingReleaseOperationWillHappen = true; _controller = new PoolController<TestKey, TestResource>(_settings, _successPoolMock.Object); TestResource outResource1; TestResource outResource2; TestResource outResource3; var key1 = new TestKey { Identifier = 100 }; var key2 = new TestKey { Identifier = 200 }; _controller.Obtain(key1, out outResource1, null); _controller.Obtain(key1, out outResource2, null); _controller.Obtain(key2, out outResource3, null); _controller.Release(outResource1); _controller.Release(outResource2); _controller.Release(outResource3); _successPoolMock.Verify(x => x.Release(key1, outResource1), Times.Once); _successPoolMock.Verify(x => x.Release(key1, outResource2), Times.Once); _successPoolMock.Verify(x => x.Release(key2, outResource3), Times.Once); }