.then(cachedFunction.withCache(CacheType.REJECTED))
.done(assertDeferredDataIsFalse)
.always(setDeferredDataToTrue)
.then(cachedFunction.withCache(CacheType.RESOLVED))
.done(assertDeferredDataIsFalse)
.then(cachedFunction.resetCache())
.done(assertDeferredDataIsTrue)
.then(cachedFunction)
.done(assertDeferredDataIsTrue)
;
}