public void Store_ReadMulti() { string name = 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.AreEqual(2, results.Count, "Count"); }
public void HKS_Read_PartialKey() { string testName = 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.IsNotNull(results, "Null results"); Assert.AreEqual(1, results.Count, "Number of results"); var result = results.First(); Assert.IsNotNull(result, "Null result"); foreach (string valueName in data.Keys) { Assert.AreEqual(data[valueName], result[valueName], valueName); } }