public void CanCompile(string check) { var compiled = CachingMechanismBuilder.Begin <string, string>() .AddCacher(new ValueRetrieverCache <string, string>((k) => k)) .Compile(); Assert.Equal(check, compiled.Get(check)); }
public void CachingBuilder(int underMsInitial, int underMsNext, string get, Type middlemanType) { var cache = CachingMechanismBuilder.Begin <string, string>() .AddCacher((ICachingMethod <string, string>)Activator.CreateInstance(middlemanType)) .AddCacher(new ValueRetrieverCache <string, string>((k) => { return(Hash(k)); })) .Compile(); AssertTime.Under(underMsInitial, () => cache.Get(get)); AssertTime.Under(underMsNext, () => cache.Get(get)); }
public void CachingBuilderFailsOnNoCachers() => Assert.Throws <ArgumentException>(() => CachingMechanismBuilder.Begin <string, string>() .Compile());
public void NotUsingLastItemCache() => Assert.Throws <ArgumentException>(() => CachingMechanismBuilder.Begin <string, string>() .AddCacher(new ConcurrentDictionaryCache <string, string>()) .AddCacher(new DictionaryCache <string, string>()) .Compile());
public void CanChain() { CachingMechanismBuilder.Begin <string, string>() .AddCacher(new ValueRetrieverCache <string, string>((k) => k)); }
public void CanBegin() => CachingMechanismBuilder.Begin <string, string>();