public void TestEvaluate() { SupportExprNode childOne = new SupportExprNode("d"); SupportExprNode childTwo = new SupportExprNode("c"); _opNode.AddChildNode(childOne); _opNode.AddChildNode(childTwo); _opNode.Validate(ExprValidationContextFactory.MakeEmpty()); // Type initialization var eparams = new EvaluateParams(null, false, null); Assert.AreEqual(true, _opNode.Evaluate(eparams)); childOne.Value = "c"; Assert.AreEqual(true, _opNode.Evaluate(eparams)); childOne.Value = "b"; Assert.AreEqual(false, _opNode.Evaluate(eparams)); _opNode = MakeNode(null, typeof(int), 2, typeof(int)); Assert.AreEqual(null, _opNode.Evaluate(eparams)); _opNode = MakeNode(1, typeof(int), null, typeof(int)); Assert.AreEqual(null, _opNode.Evaluate(eparams)); _opNode = MakeNode(null, typeof(int), null, typeof(int)); Assert.AreEqual(null, _opNode.Evaluate(eparams)); }
private static void AnalyzeRelationalOpNode(ExprRelationalOpNode relNode, QueryGraph queryGraph) { if (((relNode.ChildNodes[0] is ExprIdentNode)) && ((relNode.ChildNodes[1] is ExprIdentNode))) { var identNodeLeft = (ExprIdentNode)relNode.ChildNodes[0]; var identNodeRight = (ExprIdentNode)relNode.ChildNodes[1]; if (identNodeLeft.StreamId != identNodeRight.StreamId) { queryGraph.AddRelationalOpStrict( identNodeLeft.StreamId, identNodeLeft, identNodeRight.StreamId, identNodeRight, relNode.RelationalOpEnum); } return; } var indexedStream = -1; ExprIdentNode indexedPropExpr = null; ExprNode exprNodeNoIdent = null; RelationalOpEnum relop = relNode.RelationalOpEnum; if (relNode.ChildNodes[0] is ExprIdentNode) { indexedPropExpr = (ExprIdentNode)relNode.ChildNodes[0]; indexedStream = indexedPropExpr.StreamId; exprNodeNoIdent = relNode.ChildNodes[1]; } else if (relNode.ChildNodes[1] is ExprIdentNode) { indexedPropExpr = (ExprIdentNode)relNode.ChildNodes[1]; indexedStream = indexedPropExpr.StreamId; exprNodeNoIdent = relNode.ChildNodes[0]; relop = relop.Reversed(); } if (indexedStream == -1) { return; // require property of right/left side of equals } var eligibility = EligibilityUtil.VerifyInputStream(exprNodeNoIdent, indexedStream); if (!eligibility.Eligibility.IsEligible()) { return; } queryGraph.AddRelationalOp(indexedStream, indexedPropExpr, eligibility.StreamNum, exprNodeNoIdent, relop); }
public void TestEvaluate() { var childOne = new SupportExprNode("d"); var childTwo = new SupportExprNode("c"); opNode.AddChildNode(childOne); opNode.AddChildNode(childTwo); opNode.Validate(SupportExprValidationContextFactory.MakeEmpty(container)); // Type initialization Assert.AreEqual(true, opNode.Forge.ExprEvaluator.Evaluate(null, false, null)); childOne.Value = "c"; Assert.AreEqual(true, opNode.Forge.ExprEvaluator.Evaluate(null, false, null)); childOne.Value = "b"; Assert.AreEqual(false, opNode.Forge.ExprEvaluator.Evaluate(null, false, null)); opNode = MakeNode(null, typeof(int?), 2, typeof(int?)); Assert.AreEqual(null, opNode.Forge.ExprEvaluator.Evaluate(null, false, null)); opNode = MakeNode(1, typeof(int?), null, typeof(int?)); Assert.AreEqual(null, opNode.Forge.ExprEvaluator.Evaluate(null, false, null)); opNode = MakeNode(null, typeof(int?), null, typeof(int?)); Assert.AreEqual(null, opNode.Forge.ExprEvaluator.Evaluate(null, false, null)); }
public void SetUp() { _opNode = new ExprRelationalOpNodeImpl(RelationalOpEnum.GE); }
public void SetUp() { _container = SupportContainer.Reset(); _opNode = new ExprRelationalOpNodeImpl(RelationalOpEnum.GE); }