public void FromCache() { var cache1 = new CacheTest(); var cache2 = new CacheTest(); int cache1_1 = cache1.FromCache(i => cache1.Increment()); int cache1_2 = cache1.FromCache(i => cache1.Increment()); int cache2_1 = cache1.FromCache("CustomKey", i => cache2.Increment()); int cache2_2 = cache1.FromCache("CustomKey", i => cache2.Increment()); int cache3_1 = cache1.FromCache("CustomKeyWithValue", 1); int cache3_2 = cache1.FromCache("CustomKeyWithValue", 2); Assert.AreEqual(1, cache1_1); Assert.AreEqual(1, cache1_2); Assert.AreEqual(1, cache2_1); Assert.AreEqual(1, cache2_2); Assert.AreEqual(1, cache3_1); Assert.AreEqual(1, cache3_2); }