public void BuildWhenInAndEnumTest()
        {
            var criteriaExpression = new CriteriaExpression();

            criteriaExpression.In("Flags", FlagsEnum.One | FlagsEnum.Two);

            var builder    = new CriteriaBuilder();
            var expression = builder.Build <Customer>(criteriaExpression);

            Assert.IsNotNull(expression);
            Assert.AreEqual("((Convert(x.Flags, Int64) | Convert(One, Two, Int64)) == Convert(One, Two, Int64))", expression.Body.ToString());
        }
        public void BuildWhenInAndArrayTest()
        {
            var criteriaExpression = new CriteriaExpression();

            criteriaExpression.In("Name", new[] { "value", "value2" });

            var builder    = new CriteriaBuilder();
            var expression = builder.Build <Customer>(criteriaExpression);

            Assert.IsNotNull(expression);
            Assert.AreEqual("value(System.String[]).Contains(x.Name)", expression.Body.ToString());
        }
        public void BuildWhenInTest()
        {
            var criteriaExpression = new CriteriaExpression();

            criteriaExpression.In("Name", "value");

            var builder    = new CriteriaBuilder();
            var expression = builder.Build <Customer>(criteriaExpression);

            Assert.IsNotNull(expression);
            Assert.AreEqual("x.Name.Contains(\"value\")", expression.Body.ToString());
        }
Exemplo n.º 4
0
        public void ConstructorWhenInTest()
        {
            var expression = new CriteriaExpression();
            var array      = new[] { "value", "value2" };

            expression.In("Name", array);

            var criteria = expression.Criterias.FirstOrDefault();

            Assert.IsNotNull(criteria);
            Assert.AreEqual("Name", criteria.Property);
            Assert.AreEqual(array, criteria.Value);
            Assert.AreEqual(null, criteria.Value2);
            Assert.AreEqual(LogicalType.And, criteria.LogicalType);
            Assert.AreEqual(OperationType.In, criteria.OperationType);
        }