public virtual async Task RWRWTest(string grainStates, int grainCount) { const int delta = 5; List <ITransactionTestGrain> grains = Enumerable.Range(0, grainCount) .Select(i => RandomTestGrain(grainStates)) .ToList(); ITransactionCoordinatorGrain coordinator = this.grainFactory.GetGrain <ITransactionCoordinatorGrain>(Guid.NewGuid()); await coordinator.MultiGrainDoubleByRWRW(grains, delta); int expected = delta + delta; foreach (var grain in grains) { int[] actualValues = await grain.Get(); foreach (var actual in actualValues) { if (expected != actual) { this.testOutput($"{grain} - failed"); } actual.ShouldBeEquivalentTo(expected); } } }