public void LoadResultFilterExpressionTest() { if (!gateway.Accessor.IsMySql) { Assert.Ignore("LoadResult currently supported only by mysql"); } var expression = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", TestData.TestUser.Email); var expressions = new List <DbFilterNode>(); expressions.Add(expression); DbQueryResult <User> result = gateway.Select(expressions).LoadResult <User>(true); Assert.AreEqual(1, result.Records.Length); Assert.AreEqual(1, result.TotalRecordsCount); Assert.AreEqual(1, gateway.Select(expressions).LoadCount <User>()); result = gateway.Select(expressions).LoadResult <User>(false); Assert.AreEqual(1, result.Records.Length); Assert.AreEqual(0, result.TotalRecordsCount); expression.Value = "*****@*****.**"; result = gateway.Select(expressions).LoadResult <User>(true); Assert.AreEqual(0, result.Records.Length); Assert.AreEqual(0, result.TotalRecordsCount); Assert.AreEqual(0, gateway.Select(expressions).LoadCount <User>()); }
public void LoadListFilterExpressionExceptionTest() { var expression = new DbColumnFilterExpression(DbExpressionType.Equal, "Em?ail", "some email"); var expressions = new List <DbFilterNode> { expression }; User[] users = gateway.Select(expressions).Load <User>(); }
public void LoadListFilterExpressionTest() { var expression = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", TestData.TestUser.Email); var expressions = new List <DbFilterNode>(); expressions.Add(expression); User[] list = gateway.Select(expressions).Load <User>(); Assert.AreEqual(1, list.Length); expression.Value = "*****@*****.**"; list = gateway.Select(expressions).Load <User>(); Assert.AreEqual(0, list.Length); }
public void GetFiltersSqlTest() { TestData TestData = new TestData(DbAccessor.Instance); var expression = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", TestData.TestUser.Email); var expression2 = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", "*****@*****.**"); DbFilterGroup or = new DbOrFilterGroup(expression, expression2); var gateway = new DbGateway(DbAccessor.Instance); //TODO: implement below approach // DataTable table = DbQuery.Create(gateway, "SELECT * FROM Users", or).LoadDataTable(); }
public void LoadListFilterExpressionTreeTest() { User user = TestData.TestUser; user.Email = "*****@*****.**"; gateway.Insert(user); user.Email = "*****@*****.**"; gateway.Insert(user); var expression = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", TestData.TestUser.Email); var expression2 = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", "*****@*****.**"); DbFilterGroup or = new DbOrFilterGroup(expression, expression2); User[] list = gateway.Select(or).Load <User>(); Assert.AreEqual(2, list.Length); expression.Value = "*****@*****.**"; list = gateway.Select(or).Load <User>(); Assert.AreEqual(1, list.Length); //and expression = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", TestData.TestUser.Email); expression2 = new DbColumnFilterExpression( DbExpressionType.Equal, "Email", "*****@*****.**"); or = new DbAndFilterGroup(expression, expression2); list = gateway.Select(or).Load <User>(); Assert.AreEqual(0, list.Length); }