Exemple #1
0
        public void CachingDecorator_TwoIdenticalCallsToMultiParamMethodInQuickSuccession_MethodWasCalledOnlyOnce()
        {
            var refObj = new FakeReferenceObject();

            _cachedMultiProvider.Provide(_sampleParam1, true, refObj);
            _cachedMultiProvider.Provide(_sampleParam1, true, refObj);

            Assert.AreEqual(1, _fakeMultiProvider.CallsMadeOnProvide.Count);
        }
Exemple #2
0
        public void CachingDecorator_TwoIdenticalCallsToReferenceObjectMethodInQuickSuccession_MethodWasCalledOnlyOnce()
        {
            var refObj = new FakeReferenceObject();

            _cachedReferenceObjectProvider.Provide(refObj);
            _cachedReferenceObjectProvider.Provide(refObj);

            Assert.AreEqual(1, _fakeReferenceObjectProvider.CallsMadeOnProvide.Count);
        }
Exemple #3
0
        public void CachingDecorator_TwoIdenticalCallsToReferenceObjectMethodWithDelayBetween_MethodWasCalledTwice()
        {
            var refObj = new FakeReferenceObject();

            _cachedReferenceObjectProvider.Provide(refObj);
            Thread.Sleep(_expirationDuration);
            _cachedReferenceObjectProvider.Provide(refObj);

            Assert.AreEqual(2, _fakeReferenceObjectProvider.CallsMadeOnProvide.Count);
        }
Exemple #4
0
        public void CachingDecorator_DifferentInputCallsToMultiParamMethod_MethodWasCalledTheCorrectNumberOfTimes()
        {
            var refObj1 = new FakeReferenceObject();
            var refObj2 = new FakeReferenceObject();

            _cachedMultiProvider.Provide(_sampleParam1, true, refObj1);
            _cachedMultiProvider.Provide(_sampleParam1, true, refObj2);
            _cachedMultiProvider.Provide(_sampleParam1, false, refObj1);
            _cachedMultiProvider.Provide(_sampleParam1, false, refObj2);
            _cachedMultiProvider.Provide(_sampleParam2, true, refObj1);
            _cachedMultiProvider.Provide(_sampleParam2, true, refObj2);
            _cachedMultiProvider.Provide(_sampleParam2, false, refObj1);
            _cachedMultiProvider.Provide(_sampleParam2, false, refObj2);

            Assert.AreEqual(8, _fakeMultiProvider.CallsMadeOnProvide.Count);
        }
 public string Provide(string param1, bool param2, FakeReferenceObject param3)
 {
     CallsMadeOnProvide.Add(new Tuple <string, bool, FakeReferenceObject>(param1, param2, param3));
     return("provided");
 }
 public string Provide(FakeReferenceObject param)
 {
     CallsMadeOnProvide.Add(param);
     return("provided");
 }