public async Task CreateValidCacheable() { var control = new CacheableControl(new CacheableFactoryStub(), new CacheableExpirePolicyStub(TimeSpan.FromDays(1).TotalSeconds)); var cacheable = await control.Get("abc"); Assert.NotNull(cacheable); }
public async Task RequestForDifferentKeysGettingDifferentObjects() { var control = new CacheableControl(new CacheableFactoryStub(), new CacheableExpirePolicyStub(TimeSpan.FromDays(1).TotalSeconds)); var expected = await control.Get("abc"); var actual = await control.Get("xyz"); Assert.NotEqual(expected, actual); }
public async Task RequestForSameKeyGettingSameObject() { var control = new CacheableControl(new CacheableFactoryStub(), new CacheableExpirePolicyStub(TimeSpan.FromDays(1).TotalSeconds)); var expected = await control.Get("abc"); var actual = await control.Get("abc"); Assert.Equal(expected, actual); }
public async Task RequestForSameKeyWaiExpiresGettingDifferentObject() { var control = new CacheableControl(new CacheableFactoryStub(), new CacheableExpirePolicyStub(1)); var expected = await control.Get("abc"); await Task.Delay(2000); var actual = await control.Get("abc"); Assert.NotEqual(expected, actual); }
public void RequestFromMultipleReaders() { var control = new CacheableControl(new CacheableFactoryStub(), new CacheableExpirePolicyStub(1)); Random r = new Random(); Parallel.For(1, 20000, async a => { var reader = new Reader(control); await reader.Read(); }); Assert.True(true); }
public Reader(CacheableControl Control) { this.Control = Control; }