Skip to content

Commit 35c8a41

Browse files
committed
Improve MultiGetWithCasTest
1 parent dd07ad7 commit 35c8a41

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

MemcachedTest/MemcachedClientTest.cs

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -321,29 +321,40 @@ public virtual async Task MultiGetWithCasTest()
321321
using (var client = GetClient())
322322
{
323323
var keys = new List<string>();
324+
var tasks = new List<Task<bool>>();
324325

325326
for (int i = 0; i < 100; i++)
326327
{
327-
string k = $"Hello_Multi_Get_{Guid.NewGuid()}_" + i;
328+
string k = $"Hello_Multi_Get_{Guid.NewGuid()}_{new Random().Next()}" + i;
328329
keys.Add(k);
329330

330-
Assert.True(await client.StoreAsync(StoreMode.Set, k, i, DateTime.Now.AddSeconds(300)), "Store of " + k + " failed");
331+
tasks.Add(client.StoreAsync(StoreMode.Set, k, i, DateTime.Now.AddSeconds(60)));
331332
}
332333

333-
var retvals = client.GetWithCas(keys);
334+
await Task.WhenAll(tasks);
335+
336+
foreach (var task in tasks)
337+
{
338+
Assert.True(await task, "Store failed");
339+
}
334340

335-
CasResult<object> value;
341+
var retvals = await client.GetWithCasAsync(keys);
336342

337343
Assert.Equal(keys.Count, retvals.Count);
338344

345+
tasks.Clear();
339346
for (int i = 0; i < keys.Count; i++)
340347
{
341348
string key = keys[i];
342349

343-
Assert.True(retvals.TryGetValue(key, out value), "missing key: " + key);
350+
Assert.True(retvals.TryGetValue(key, out var value), "missing key: " + key);
344351
Assert.Equal(value.Result, i);
345352
Assert.NotEqual(value.Cas, (ulong)0);
353+
354+
tasks.Add(client.RemoveAsync(key));
346355
}
356+
357+
await Task.WhenAll(tasks);
347358
}
348359
}
349360

0 commit comments

Comments
 (0)