Esempio n. 1
0
        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>());
        }
Esempio n. 2
0
        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>();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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);
        }