public void TestSqlConnectionAverageAsyncViaTableNameViaQueryGroup() { // Setup var tables = Helper.CreateIdentityTables(10); var fields = new[] { new QueryField(nameof(IdentityTable.ColumnInt), Operation.GreaterThan, 5), new QueryField(nameof(IdentityTable.ColumnInt), Operation.LessThanOrEqual, 8) }; var queryGroup = new QueryGroup(fields); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync(ClassMappedNameCache.Get <IdentityTable>(), new Field("ColumnInt"), queryGroup).Result; // Assert Assert.AreEqual(tables.Where(t => t.ColumnInt > 5 && t.ColumnInt <= 8).Average(t => t.ColumnInt), Convert.ToDouble(result)); } }
public void TestSqlServerConnectionAverageAsyncWithoutExpression() { // Setup var tables = Database.CreateCompleteTables(10); using (var connection = new SqlConnection(Database.ConnectionString)) { // Act var result = connection.AverageAsync <CompleteTable>(e => e.ColumnInt, (object)null).Result; // Assert Assert.AreEqual(tables.Average(e => e.ColumnInt), Convert.ToDouble(result)); } }
public void TestSqlServerConnectionAverageAsyncViaTableNameWithoutExpression() { // Setup var tables = Database.CreateCompleteTables(10); using (var connection = new SqlConnection(Database.ConnectionString)) { // Act var result = connection.AverageAsync(ClassMappedNameCache.Get <CompleteTable>(), Field.Parse <CompleteTable>(e => e.ColumnInt).First(), (object)null).Result; // Assert Assert.AreEqual(tables.Average(e => e.ColumnInt), Convert.ToDouble(result)); } }
public void TestSqlServerConnectionAverageAsyncWithExpression() { // Setup var tables = Database.CreateCompleteTables(10); using (var connection = new SqlConnection(Database.ConnectionString)) { // Act var ids = new[] { tables.First().Id, tables.Last().Id }; var result = connection.AverageAsync <CompleteTable>(e => e.ColumnInt, e => ids.Contains(e.Id)).Result; // Assert Assert.AreEqual(tables.Where(e => ids.Contains(e.Id)).Average(e => e.ColumnInt), Convert.ToDouble(result)); } }
public void TestSqlServerConnectionAverageAsyncViaTableNameWithExpression() { // Setup var tables = Database.CreateCompleteTables(10); using (var connection = new SqlConnection(Database.ConnectionString)) { // Act var ids = new[] { tables.First().Id, tables.Last().Id }; var result = connection.AverageAsync(ClassMappedNameCache.Get <CompleteTable>(), Field.Parse <CompleteTable>(e => e.ColumnInt).First(), new QueryField("Id", Operation.In, ids)).Result; // Assert Assert.AreEqual(tables.Where(e => ids.Contains(e.Id)).Average(e => e.ColumnInt), Convert.ToDouble(result)); } }
public void TestSqlConnectionAverageAsyncTypedResultViaDynamic() { // Setup var tables = Helper.CreateIdentityTables(10); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync <IdentityTable, double?>(e => e.ColumnInt, new { ColumnInt = 1 }).Result; // Assert Assert.AreEqual(tables.Where(t => t.ColumnInt == 1).Average(t => t.ColumnInt), result); } }
public void TestSqlConnectionAverageAsyncTypedResultWithoutCondition() { // Setup var tables = Helper.CreateIdentityTables(10); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync <IdentityTable, double?>(e => e.ColumnInt, (object)null).Result; // Assert Assert.AreEqual(tables.Average(t => t.ColumnInt), result); } }
public void TestSqlConnectionAverageAsyncViaExpression() { // Setup var tables = Helper.CreateIdentityTables(10); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync <IdentityTable>(e => e.ColumnInt, item => item.ColumnInt > 5 && item.ColumnInt <= 8).Result; // Assert Assert.AreEqual(tables.Where(t => t.ColumnInt > 5 && t.ColumnInt <= 8).Average(t => t.ColumnInt), Convert.ToDouble(result)); } }
public void TestSqlConnectionAverageAsyncTypedResultViaTableNameWithoutCondition() { // Setup var tables = Helper.CreateIdentityTables(10); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync <double?>(ClassMappedNameCache.Get <IdentityTable>(), new Field("ColumnInt"), (object)null).Result; // Assert Assert.AreEqual(tables.Average(t => t.ColumnInt), result); } }
public void TestSqlConnectionAverageAsyncViaTableNameViaDynamic() { // Setup var tables = Helper.CreateIdentityTables(10); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync(ClassMappedNameCache.Get <IdentityTable>(), new Field("ColumnInt"), new { ColumnInt = 1 }).Result; // Assert Assert.AreEqual(tables.Where(t => t.ColumnInt == 1).Average(t => t.ColumnInt), Convert.ToDouble(result)); } }
public void TestSqlConnectionAverageAsyncTypedResultViaQueryField() { // Setup var tables = Helper.CreateIdentityTables(10); var field = new QueryField(nameof(IdentityTable.ColumnInt), Operation.GreaterThan, 5); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync <IdentityTable, double?>(e => e.ColumnInt, field).Result; // Assert Assert.AreEqual(tables.Where(t => t.ColumnInt > 5).Average(t => t.ColumnInt), result); } }
public void TestSqlConnectionAverageAsyncViaTableNameViaQueryField() { // Setup var tables = Helper.CreateIdentityTables(10); var field = new QueryField(nameof(IdentityTable.ColumnInt), Operation.GreaterThan, 5); using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync(ClassMappedNameCache.Get <IdentityTable>(), new Field("ColumnInt"), field).Result; // Assert Assert.AreEqual(tables.Where(t => t.ColumnInt > 5).Average(t => t.ColumnInt), result); } }
public void TestSqlConnectionAverageAsyncViaQueryFields() { // Setup var tables = Helper.CreateIdentityTables(10); var fields = new[] { new QueryField(nameof(IdentityTable.ColumnInt), Operation.GreaterThan, 5), new QueryField(nameof(IdentityTable.ColumnInt), Operation.LessThanOrEqual, 8) }; using (var connection = new SqlConnection(Database.ConnectionStringForRepoDb)) { // Act connection.InsertAll(tables); // Act var result = connection.AverageAsync <IdentityTable>(e => e.ColumnInt, fields).Result; // Assert Assert.AreEqual(tables.Where(t => t.ColumnInt > 5 && t.ColumnInt <= 8).Average(t => t.ColumnInt), result); } }