protected static async Task AssertThatQueryProducesSameResults(PgSQLConnection connection, String query, params Object[] values) { var queryCount = 0; await connection.PrepareStatementForExecution(query).EnumerateAsync(async item => { Assert.AreEqual(values[queryCount++], await((SQLDataRow)item).GetValueAsObjectAsync(0)); }); Assert.AreEqual(values.Length, queryCount); }
protected static async Task AssertThatQueryProducesSameResults_IgnoreOrder(PgSQLConnection connection, String query, params Object[] values) { var valuesSet = new HashSet <Object>(values); var querySet = new HashSet <Object>(); var queryCount = 0; await connection.PrepareStatementForExecution(query).EnumerateAsync(async item => { querySet.Add(await((SQLDataRow)item).GetValueAsObjectAsync(0)); ++queryCount; }); Assert.AreEqual(values.Length, queryCount); Assert.IsTrue(valuesSet.SetEquals(querySet)); }