public void Get_CacheNullAndEmptyCollectionIsTrue_AddsCachedNullValueToCacheAndReturnsNull() { const string cacheKey = "abc"; var objectToAdd = new CachedNullValue(); var cacheFake = A.Fake <ICache>(); A.CallTo(() => cacheFake.Get(cacheKey)).Returns((object)null); var cacheManager = new CacheService(cacheFake, A.Fake <ICacheServiceLogger>()); var obj = cacheManager.Get(cacheKey, new TimeSpan(0, 10, 0), true, () => objectToAdd); A.CallTo(() => cacheFake.Add(cacheKey, objectToAdd, A <DateTime> .Ignored)).MustHaveHappened(Repeated.Exactly.Once); }
public void Get_ObjectNotFoundInCache_LogsNotFoundInCacheMethodCall() { const string cacheKey = "abc"; var objectToAdd = new CachedNullValue(); var cacheFake = A.Fake <ICache>(); A.CallTo(() => cacheFake.Get(cacheKey)).Returns((object)null); var cacheServiceLoggerFake = A.Fake <ICacheServiceLogger>(); var cacheManager = new CacheService(cacheFake, cacheServiceLoggerFake); Func <CachedNullValue> delegateFunction = () => objectToAdd; var obj = cacheManager.Get(cacheKey, new TimeSpan(0, 10, 0), true, delegateFunction); A.CallTo(() => cacheServiceLoggerFake.LogMethodCall(false, delegateFunction)).MustHaveHappened(Repeated.Exactly.Once); }