private void VerifyKeys(IRxStatementResult result, params string[] keys)
 {
     result.Keys()
     .WaitForCompletion()
     .AssertEqual(
         OnNext(0, MatchesKeys(keys)),
         OnCompleted <string[]>(0));
 }
 private void VerifySummary(IRxStatementResult result, string statement = "fake")
 {
     result.Summary()
     .WaitForCompletion()
     .AssertEqual(
         OnNext(0,
                MatchesSummary(new { Statement = new Statement(statement) },
                               opts => opts.ExcludingMissingMembers())),
         OnCompleted <IResultSummary>(0));
 }
 private void VerifyRecords(IRxStatementResult result, string[] keys, int recordsCount)
 {
     result.Records()
     .WaitForCompletion()
     .AssertEqual(
         Enumerable.Range(1, recordsCount).Select(r =>
                                                  OnNext(0,
                                                         MatchesRecord(keys,
                                                                       Enumerable.Range(1, keys.Length).Select(f => $"{r:D3}_{f:D2}").Cast <object>()
                                                                       .ToArray())))
         .Concat(new[] { OnCompleted <IRecord>(0) }));
 }
 private void VerifyNoRecords(IRxStatementResult result)
 {
     VerifyRecords(result, new string[0], 0);
 }