public void RemoveTest() { var _cache = new CollectionCache<string, object>(); const string KEY = "Test"; var _value = new object(); var _addOrGetExisting = _cache.AddOrGetExisting(KEY, _value); Assert.AreEqual(_value, _addOrGetExisting); _cache.Remove(KEY, _value); var _actual = _cache.Get(KEY); Assert.IsEmpty(_actual); }
public void RemoveWhenRegionNameTest() { const string REGION = "Test"; var _cache = new CollectionCache<object, object>(); var _key = new object(); var _value = new object(); var _addOrGetExisting = _cache.AddOrGetExisting(_key, _value, REGION); Assert.AreEqual(_value, _addOrGetExisting); _cache.Remove(_key, _value, REGION); var _actual = _cache.Get(_key); Assert.IsEmpty(_actual); }
public void RemoveStressTest() { const int LOOPS1 = 3; const int LOOPS2 = 500; var _cache = new CollectionCache<string, string>(); var _dictionary = new Dictionary<string, string>(); for (var _j = 1; _j <= LOOPS2; _j++) { var _key = "Test" + _j; var _value = _j.ToString(); _cache.AddOrGetExisting(_key, _value); _dictionary.Add(_key, _value); } for (var _i = 0; _i < LOOPS1; _i++) { var _dateTimeOffSet = DateTimeOffset.UtcNow; for (var _j = 1; _j <= LOOPS2; _j++) { var _key = _dictionary.Where(_x => _x.Value == _dictionary["Test" + _j]).Select(_x => _x.Key).FirstOrDefault(); var _value = _dictionary["Test" + _j].Where(_x => _x.ToString() == _j.ToString()).ToString(); _cache.Remove(_key, _value); } var _elapsedTime = (DateTimeOffset.UtcNow - _dateTimeOffSet).TotalMilliseconds; Assert.LessOrEqual(_elapsedTime, 100); } }