public void Store_ReadMulti() { string name = Guid.NewGuid().ToString();//TestContext.TestName; ILocalDataStore store = new HierarchicalKeyStore(2); // Write #1 IList <Tuple <string, string> > keys = new[] { Tuple.Create("GrainType", name), Tuple.Create("GrainId", "1") }.ToList(); var grainState = TestStoreGrainState.NewRandomState(); var state = grainState.State; state.A = name; store.WriteRow(keys, AsDictionary(state), grainState.ETag); // Write #2 keys = new[] { Tuple.Create("GrainType", name), Tuple.Create("GrainId", "2") }.ToList(); grainState = TestStoreGrainState.NewRandomState(); state = grainState.State; state.A = name; store.WriteRow(keys, AsDictionary(state), grainState.ETag); // Multi Read keys = new[] { Tuple.Create("GrainType", name) }.ToList(); var results = store.ReadMultiRow(keys); Assert.Equal(2, results.Count); // "Count" }
public void HKS_Read_PartialKey() { string testName = Guid.NewGuid().ToString(); //TestContext.TestName; int key1 = _keyCounter++; int key2 = _keyCounter++; List <Tuple <string, string> > keys = MakeKeys(key1, key2); var data = new Dictionary <string, object>(); data[ValueName1] = testName + 1; data[ValueName2] = testName + 2; data[ValueName3] = testName + 3; var store = new HierarchicalKeyStore(keys.Count); string eTag = store.WriteRow(keys, data, null); var readKeys = new List <Tuple <string, string> >(); readKeys.Add(keys.First()); var results = store.ReadMultiRow(readKeys); Assert.NotNull(results); // Null results Assert.Equal(1, results.Count); // Number of results var result = results.First(); Assert.NotNull(result); // Null result foreach (string valueName in data.Keys) { Assert.Equal(data[valueName], result[valueName]); } }