/// <summary> /// Clears nodes from the storage /// </summary> public void Clear() { rwLock.AcquireWriterLock(-1); try { storage.Clear(); } finally { rwLock.ReleaseLock(); } }
public static async Task ReadTest(IKeyValueStorage storage) { await storage.Clear(); var rd = new Random(); for (int i = 0; i < 50; i++) { await storage.Set("somekey" + i, "qwwwwwwww"); } await storage.Set("mykey", "val"); for (int i = 0; i < 500; i++) { var val = await storage.Get <string>("mykey"); Assert.AreEqual("val", val); } await storage.Clear(); }
public static async Task SynchronizationTest(IKeyValueStorage storage) { await storage.Clear(); var rd = new Random(); for (int i = 0; i < 50; i++) { for (int j = 0; j < 10; j++) { await storage.Set("key" + rd.Next(10000, 99999).ToString(), "qwwwwwwww"); } string key = "key" + i.ToString(); string prevKey = "key" + (i - 1).ToString(); //await storage.Clear(); await storage.Set(prevKey, null); var prevVal = await storage.GetOrDefault <string>(prevKey); if (prevVal != null) { Assert.Fail($"Not null value after cleaning. Iteration {i}."); } await storage.Set(key, "val"); var val = await storage.Get <string>(key); Assert.AreEqual(val, "val"); var isContains = await storage.ContainsKey(key); Assert.IsTrue(isContains); } await storage.Clear(); }
/// <summary> /// Clears nodes from the storage /// </summary> public void Clear() { storage.Clear(); }