示例#1
0
        public void SetUp()
        {
            var lockObject = new object();

            _helperForLockingDecorator = CreateLockingDecoratorTestHelper(
                inner =>
            {
                lock (lockObject)
                    return(inner.Get());
            },
                (inner, s) =>
            {
                lock (lockObject)
                    inner.Do(s);
            },
                lockObject);

            _helperForNonLockingDecorator    = CreateLockingDecoratorTestHelper(inner => inner.Get(), (inner, s) => inner.Do(s), lockObject);
            _helperForNonDelegatingDecorator = CreateLockingDecoratorTestHelper(inner => "Abc", (inner, s) => { }, lockObject);
            _helperForFaultyDecorator        = CreateLockingDecoratorTestHelper(
                inner =>
            {
                lock (lockObject)
                    inner.Get();
                return("faulty");
            },
                (inner, s) =>
            {
                lock (lockObject)
                    inner.Do("faulty");
            },
                lockObject);
        }
示例#2
0
        public void SetUp()
        {
            var innerCacheMock = MockRepository.GenerateStrictMock <ICache <string, int> >();

            _decorator = new LockingCacheDecorator <string, int> (innerCacheMock);

            var lockObject = PrivateInvoke.GetNonPublicField(_decorator, "_lock");

            _helper = new LockingDecoratorTestHelper <ICache <string, int> > (_decorator, lockObject, innerCacheMock);
        }