public void Correctly_returns_null_when_cached_instance_is_not_found() { MockRepository mocks = new MockRepository(); IWebContext webContext = mocks.CreateMock <IWebContext>(); using (mocks.Record()) { Expect.Call(webContext.GetItem <ApplicationInstance>(ApplicationInstance.CacheKey)).Return(null); Expect.Call(webContext.GetCacheItem <ApplicationInstance>(ApplicationInstance.CacheKey)).Return(null); } using (mocks.Playback()) { IApplicationInstanceCache cache = new ApplicationInstanceCache(webContext, null); Assert.That(cache.GetCurrent(), Is.Null); } }
public void Correctly_retrieves_application_instance_from_first_level_cache() { ApplicationInstance instance = new ApplicationInstance(); MockRepository mocks = new MockRepository(); IWebContext webContext = mocks.CreateMock <IWebContext>(); using (mocks.Record()) { Expect.Call(webContext.GetItem <ApplicationInstance>(ApplicationInstance.CacheKey)).Return(instance); } using (mocks.Playback()) { IApplicationInstanceCache cache = new ApplicationInstanceCache(webContext, null); Assert.That(cache.GetCurrent(), Is.SameAs(instance)); } }
public void Correctly_caches_application_instance() { ApplicationInstance instance = new ApplicationInstance(); MockRepository mocks = new MockRepository(); IWebContext context = mocks.CreateMock <IWebContext>(); ISystemClock clock = mocks.CreateMock <ISystemClock>(); using (mocks.Record()) { Expect.Call(clock.GetCurrentDateTime()).Return(new DateTime(2007, 4, 15)); context.SetItem(ApplicationInstance.CacheKey, instance); context.SetCacheItem(ApplicationInstance.CacheKey, instance, new DateTime(2007, 4, 15).AddMinutes(1), TimeSpan.Zero); } using (mocks.Playback()) { IApplicationInstanceCache cache = new ApplicationInstanceCache(context, clock); cache.Set(ApplicationInstance.CacheKey, instance); } }