internal static Task <int> GetLocationCount <TIGrain, TProperties>(this IndexingTestRunnerBase runner, string location, int delayInMilliseconds = 0)
     where TIGrain : IPlayerGrain, IIndexableGrain where TProperties : IPlayerProperties
 => runner.CountItemsStreamingIn((r, v) => r.QueryByLocation <TIGrain, TProperties>(v), nameof(IPlayerProperties.Location), location, delayInMilliseconds);
 internal static Task <int> GetUniqueIntCount <TIGrain, TProperties>(this IndexingTestRunnerBase runner, int uniqueValue, int delayInMilliseconds = 0)
     where TIGrain : ITestIndexGrain, IIndexableGrain where TProperties : ITestIndexProperties
 => runner.CountItemsStreamingIn((r, v) => r.QueryByUniqueInt <TIGrain, TProperties>(v), nameof(ITestIndexProperties.UniqueInt), uniqueValue, delayInMilliseconds);
 internal static Task <int> GetEmployeeIdCount <TIGrain, TProperties>(this IndexingTestRunnerBase runner, int id, int delayInMilliseconds = 0)
     where TIGrain : IEmployeeGrain, IIndexableGrain where TProperties : IEmployeeProperties
 => runner.CountItemsStreamingIn((r, v) => r.QueryByEmployeeId <TIGrain, TProperties>(v), nameof(IEmployeeProperties.EmployeeId), id, delayInMilliseconds);
 internal static Task <int> GetJobDepartmentCount <TIGrain, TProperties>(this IndexingTestRunnerBase runner, string department, int delayInMilliseconds = 0)
     where TIGrain : IJobGrain, IIndexableGrain where TProperties : IJobProperties
 => runner.CountItemsStreamingIn((r, v) => r.QueryByJobDepartment <TIGrain, TProperties>(v), nameof(IJobProperties.Department), department, delayInMilliseconds);
 internal static Task <int> GetPersonAgeCount <TIGrain, TProperties>(this IndexingTestRunnerBase runner, int age, int delayInMilliseconds = 0)
     where TIGrain : IPersonGrain, IIndexableGrain where TProperties : IPersonProperties
 => runner.CountItemsStreamingIn((r, v) => r.QueryByPersonAge <TIGrain, TProperties>(v), nameof(IPersonProperties.Age), age, delayInMilliseconds);
 internal static Task <int> GetNonUniqueStringCountTxn <TIGrain, TProperties>(this IndexingTestRunnerBase runner, string nonUniqueValue, int delayInMilliseconds = 0)
     where TIGrain : ITestMultiIndexGrainTransactional, IIndexableGrain where TProperties : ITestMultiIndexProperties
 => runner.CountItemsStreamingIn((r, v) => r.QueryByNonUniqueStringTxn <TIGrain, TProperties>(v), nameof(ITestMultiIndexProperties.NonUniqueString), nonUniqueValue, delayInMilliseconds);
 internal static Task <int> GetPlayerScoreCountTxn <TIGrain, TProperties>(this IndexingTestRunnerBase runner, int score, int delayInMilliseconds = 0)
     where TIGrain : IPlayerGrainTransactional, IIndexableGrain where TProperties : IPlayerProperties
 => runner.CountItemsStreamingIn((r, v) => r.QueryByPlayerScoreTxn <TIGrain, TProperties>(v), nameof(IPlayerProperties.Score), score, delayInMilliseconds);