예제 #1
0
        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));
        }
예제 #2
0
        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);
            }
        }