public void RemoveTest(bool useCustomCreateCacheCallback) { long result; var cache = new PerTenantNonSharingCache <long, long>("Test Cache", useCustomCreateCacheCallback ? new Func <ICache <long, long> >(CreatePerTenantCache) : null); // Populate the cache PopulateCache(cache); // Remove an entry from tenant 1 SetTenant(Tenant1Id); cache.Remove(_tenant1Values[0].Item1); // Remove two entries from tenant 2 SetTenant(Tenant2Id); cache.Remove(_tenant2Values[0].Item1); cache.Remove(_tenant2Values[1].Item1); // Verify entries have been removed SetTenant(Tenant1Id); Assert.AreEqual(_tenant1Values.Count - 1, cache.Count); Assert.IsFalse(cache.TryGetValue(_tenant1Values[0].Item1, out result)); // Verify entries have been removed SetTenant(Tenant2Id); Assert.AreEqual(_tenant2Values.Count - 2, cache.Count); Assert.IsFalse(cache.TryGetValue(_tenant2Values[0].Item1, out result)); Assert.IsFalse(cache.TryGetValue(_tenant2Values[1].Item1, out result)); }
public void AddTest(bool useCustomCreateCacheCallback) { long result; var cache = new PerTenantNonSharingCache <long, long>("Test Cache", useCustomCreateCacheCallback ? new Func <ICache <long, long> >(CreatePerTenantCache) : null); // Populate the cache PopulateCache(cache); // Verify that the entries are valid for tenant 1 SetTenant(Tenant1Id); Assert.AreEqual(_tenant1Values.Count, cache.Count); foreach (var v in _tenant1Values) { Assert.IsTrue(cache.TryGetValue(v.Item1, out result)); Assert.AreEqual(v.Item2, result); } // Verify that the entries are valid for tenant 2 SetTenant(Tenant2Id); Assert.AreEqual(_tenant2Values.Count, cache.Count); foreach (var v in _tenant2Values) { Assert.IsTrue(cache.TryGetValue(v.Item1, out result)); Assert.AreEqual(v.Item2, result); } }