|
10 | 10 | using Microsoft.Extensions.DependencyInjection; |
11 | 11 | using Microsoft.Extensions.Logging; |
12 | 12 | using System.Threading.Tasks; |
| 13 | +using System.Linq; |
13 | 14 |
|
14 | 15 | namespace MemcachedTest |
15 | 16 | { |
@@ -252,27 +253,39 @@ public async Task MultiGetTest() |
252 | 253 | { |
253 | 254 | var keys = new List<string>(); |
254 | 255 |
|
255 | | - for (int i = 0; i < 100; i++) |
| 256 | + for (int i = 0; i < 10; i++) |
256 | 257 | { |
257 | 258 | string k = $"Hello_Multi_Get_{Guid.NewGuid()}_" + i; |
258 | 259 | keys.Add(k); |
259 | 260 |
|
260 | | - Assert.True(await client.StoreAsync(StoreMode.Set, k, i, DateTime.Now.AddSeconds(300)), "Store of " + k + " failed"); |
| 261 | + Assert.True(await client.StoreAsync(StoreMode.Set, k, i, DateTime.Now.AddSeconds(30)), "Store of " + k + " failed"); |
261 | 262 | } |
262 | 263 |
|
263 | | - IDictionary<string, object> retvals = client.Get(keys); |
| 264 | + IDictionary<string, int> retvals = client.Get<int>(keys); |
264 | 265 |
|
265 | 266 | Assert.NotEmpty(retvals); |
266 | 267 | Assert.Equal(keys.Count, retvals.Count); |
267 | 268 |
|
268 | | - object value = 0; |
| 269 | + int value = 0; |
269 | 270 | for (int i = 0; i < keys.Count; i++) |
270 | 271 | { |
271 | 272 | string key = keys[i]; |
272 | 273 |
|
273 | 274 | Assert.True(retvals.TryGetValue(key, out value), "missing key: " + key); |
274 | 275 | Assert.Equal(value, i); |
275 | 276 | } |
| 277 | + |
| 278 | + var key1 = $"test_key1_{Guid.NewGuid()}"; |
| 279 | + var key2 = $"test_key2_{Guid.NewGuid()}"; |
| 280 | + var obj1 = new HashSet<int> { 1, 2 }; |
| 281 | + var obj2 = new HashSet<int> { 3, 4 }; |
| 282 | + await client.StoreAsync(StoreMode.Set, key1, obj1, DateTime.Now.AddSeconds(10)); |
| 283 | + await client.StoreAsync(StoreMode.Set, key2, obj2, DateTime.Now.AddSeconds(10)); |
| 284 | + |
| 285 | + var multiResult = client.Get<HashSet<int>>(new string[] { key1, key2 }); |
| 286 | + Assert.Equal(2, multiResult.Count); |
| 287 | + Assert.Equal(obj1.First(), multiResult[key1].First()); |
| 288 | + Assert.Equal(obj2.First(), multiResult[key2].First()); |
276 | 289 | } |
277 | 290 | } |
278 | 291 |
|
|
0 commit comments