Пример #1
0
 public IValue Visit(NotEqualExpression expression, TypeEnvironment environment)
 {
     return(expression.LeftExpression
            .Accept(this, environment)
            .Equals(expression.RightExpression.Accept(this, environment))
            .Not());
 }
        public bool NotEqualBoolean(NotEqualExpression node, List <object> parameters)
        {
            ExpressionNode lhs = node.Children[0];
            ExpressionNode rhs = node.Children[1];

            return(!IsEqual(lhs, rhs, node.Type, parameters));
        }
Пример #3
0
        public void NotEqualExpression()
        {
            var e = new NotEqualExpression(new Literal("13"), new Literal("37"));

            Assert.IsFalse(e.IsTrivial);
            Assert.AreEqual("(13!=37)", e.ToString());
            Assert.AreEqual("NotEqual", e.Name);
        }
Пример #4
0
        public static void TestEvaluate(object lhs, object rhs, object expectedValue)
        {
            var expression = new NotEqualExpression(
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == lhs),
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == rhs),
                new Context(ExpressiveOptions.None));

            Assert.That(expression.Evaluate(null), Is.EqualTo(expectedValue));
        }
Пример #5
0
        public void Visit(NotEqualExpression expression)
        {
            var isColumnValueMatch = IsMatch(expression.PropertyExpression.PropertyName, expression.ValueExpression.Value);

            if (isColumnValueMatch)
            {
                _isMatch = false;
            }
        }
Пример #6
0
        public void TestRightNull()
        {
            var expression = new NotEqualExpression(
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)false),
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)null),
                ExpressiveOptions.None);

            Assert.AreEqual(true, expression.Evaluate(null));
        }
            private string GetExpression(NotEqualExpression expression, ref List <OleDbParameter> parameters)
            {
                if ((expression.Children[1] is LiteralExpression) && ((expression.Children[1] as LiteralExpression).Value == null))
                {
                    return(" ( " + GetExpressionDispatch(expression.Children[0], ref parameters) + " is not null ) ");
                }

                return(" ( " + GetExpressionDispatch(expression.Children[0], ref parameters) + " <> " +
                       GetExpressionDispatch(expression.Children[1], ref parameters) + " ) ");
            }
Пример #8
0
        public void Expression_with_not_equals_operator_yields_NotEqualsExpression()
        {
            var expression = _parser.Parse <User>(x => x.Username != "a username");

            var expectedExpression = new NotEqualExpression(
                new PropertyExpression("Username", typeof(string)),
                new ValueExpression("a username"));

            Assert.AreEqual(expectedExpression, expression);
        }
        public void NotEqualBoolean_Bool_CorrectValuesReturned(bool lhsValue, bool rhsValue, bool expected)
        {
            var lhs = Utilities.GetRealLitExpression();
            var rhs = Utilities.GetRealLitExpression();

            var expression = new NotEqualExpression(lhs, rhs, 0, 0);

            expression.Type = TypeEnum.Boolean;
            IInterpreterBoolean parent = Substitute.For <IInterpreterBoolean>();

            parent.DispatchBoolean(lhs, Arg.Any <List <object> >()).Returns(lhsValue);
            parent.DispatchBoolean(rhs, Arg.Any <List <object> >()).Returns(rhsValue);

            BooleanHelper booleanHelper = Utilities.GetBooleanHelper(parent);

            bool res = booleanHelper.NotEqualBoolean(expression, new List <object>());

            Assert.AreEqual(expected, res);
        }
Пример #10
0
        public override AstNode VisitCompare([NotNull] QlParser.CompareContext context)
        {
            var op = context.op.Text;
            BinaryExpression binExp = null;
            var lhs = this.Visit(context.lhs) as Expression;
            var rhs = this.Visit(context.rhs) as Expression;

            switch (op)
            {
            case "<":
                binExp = new LessThanExpression(lhs, rhs);
                break;

            case "<=":
                binExp = new LessThanOrEqualExpression(lhs, rhs);
                break;

            case ">":
                binExp = new GreaterThanExpression(lhs, rhs);
                break;

            case ">=":
                binExp = new GreaterThanOrEqualExpression(lhs, rhs);
                break;

            case "==":
                binExp = new EqualExpression(lhs, rhs);
                break;

            case "!=":
                binExp = new NotEqualExpression(lhs, rhs);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(op), "Unsupported operator.");
            }

            return(binExp);
        }
        public void NotEqualBoolean_Bool_CheckParametersPassedDown()
        {
            var lhs = Utilities.GetBoolLitExpression();
            var rhs = Utilities.GetBoolLitExpression();

            List <object> parameters     = Utilities.GetParameterList(4);
            List <object> expectedParams = parameters;
            var           expression     = new NotEqualExpression(lhs, rhs, 0, 0);

            expression.Type = TypeEnum.Boolean;
            IInterpreterBoolean parent    = Substitute.For <IInterpreterBoolean>();
            List <object>       lhsParams = new List <object>();
            List <object>       rhsParams = new List <object>();

            parent.DispatchBoolean(lhs, Arg.Do <List <object> >(x => lhsParams = x));
            parent.DispatchBoolean(rhs, Arg.Do <List <object> >(x => rhsParams = x));

            BooleanHelper booleanHelper = Utilities.GetBooleanHelper(parent);

            booleanHelper.NotEqualBoolean(expression, parameters);

            Assert.AreEqual(expectedParams, lhsParams);
            Assert.AreEqual(expectedParams, rhsParams);
        }
        public ICoreObjectCollection ListAllControllerTarget()
        {
            try
            {
                var typeIterator = new TypeIterator(ControllerTargetTypeInfo, true, false);
                var selectClause = new ObjectReferenceExpression(typeIterator, CoreAttributeSetInfo);
                var name         =
                    new NotEqualExpression(
                        new AttributeReferenceExpression(CoreContext, typeof(ICoreAttributes), "Name", typeIterator),
                        new ConstantExpression(string.Empty)
                        );

                var whereClause = new FilterCondition(CoreContext, name);
                var query       = CoreContext.CreateObjectQuery(selectClause, typeIterator,
                                                                whereClause,
                                                                SortCondition.Empty);
                var objectCollection =
                    CoreContext.GetCoreObjectCollection(query, CollectionFlag.SnapShot);
                return(objectCollection);
            } catch (Exception ex)
            {
                return(null);
            }
        }
Пример #13
0
 public override void Visit(NotEqualExpression node)
 {
     unfinishedClone = new NotEqualExpression(GetCloneOf(node.Left), GetCloneOf(node.Right));
     base.Visit(node);
 }
Пример #14
0
        public void Expression_with_not_equals_operator_yields_NotEqualsExpression()
        {
            var expression = _parser.Parse<User>(x => x.Username != "a username");

            var expectedExpression = new NotEqualExpression(
                new PropertyExpression("Username", typeof(string)),
                new ValueExpression("a username"));

            Assert.AreEqual(expectedExpression, expression);
        }
Пример #15
0
 public virtual void VisitNotEqualExpression(NotEqualExpression notEqualExpression)
 {
     DefaultVisit(notEqualExpression);
 }
Пример #16
0
            private string GetExpression(NotEqualExpression expression, ref List<OleDbParameter> parameters)
            {
                if ((expression.Children[1] is LiteralExpression) && ((expression.Children[1] as LiteralExpression).Value == null))
                    return " ( " + GetExpressionDispatch(expression.Children[0], ref parameters) + " is not null ) ";

                return " ( " + GetExpressionDispatch(expression.Children[0], ref parameters) + " <> " +
                            GetExpressionDispatch(expression.Children[1], ref parameters) + " ) ";
            }
Пример #17
0
 public override void Visit(NotEqualExpression node)
 {
     AssignToImplicitReturn(node);
 }
Пример #18
0
 public ValueType Visit(NotEqualExpression expression, ITypeEnvironment environment)
 {
     return(this.CheckBinaryComparisonExpression(expression, environment));
 }
Пример #19
0
 public void Visit(NotEqualExpression expression)
 {
     VisitBinaryComparisonExpression(expression, "<>");
 }
Пример #20
0
 public void Visit(NotEqualExpression expression)
 {
     DoBoolean(expression, CodeBinaryOperatorType.IdentityInequality);
 }
Пример #21
0
 public virtual TResult Visit(NotEqualExpression expression, TEnvironment environment)
 {
     return(this.Visit((BinaryExpression)expression, environment));
 }
Пример #22
0
        public void Visit(NotEqualExpression expression)
        {
            var isColumnValueMatch = IsMatch(expression.PropertyExpression.PropertyName, expression.ValueExpression.Value);

            if (isColumnValueMatch)
                _isMatch = false;
        }
Пример #23
0
 public override void Visit(NotEqualExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Пример #24
0
 public void Visit(NotEqualExpression expression, CommonTree tree)
 {
     SetLine(expression, tree);
     Parent(tree).Children.Add(expression);
     VisitChildren(tree);
 }
Пример #25
0
 public override void Visit(NotEqualExpression node)
 {
     Visit((BinaryExpression)node);
 }