コード例 #1
0
 public PoolControllerTests()
 {
     _key = new TestKey
     {
         Identifier = 48635,
     };
     _settings = new PoolControllerSettings
     {
         CallingReleaseOperationWillHappen = true,
     };
     _noObjectDirection = new DirectionIfNoObjectIsAvailable<TestKey, TestResource>();
 }
コード例 #2
0
        public PWSingleUseEnforcingWrapperTests()
        {
            _key = new TestKey
            {
                Identifier = 375,
            };

            _goneObjectArgs = new GoneObjectEventArgs<TestKey, TestResource>
            {
                Reporter = new object(),
                Key = _key,
                PoolObject = new TestResource("gone"),
            };
        }
コード例 #3
0
 public PoolItemTests()
 {
     _key = new TestKey
     {
         Identifier = 846853,
     };
     _settings = new PoolItemSettings<TestKey>
     {
         Key = _key,
         MarkObtainedObjectAsNotAvailable = true,
         MaxObjectsCount = 100,
         ThrowIfCantCreateNewBecauseOfReachedLimit = false,
     };
 }
コード例 #4
0
        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));
        }
コード例 #5
0
        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);
        }