public void TestDeepEquals() { Assert.IsFalse(ExprNodeUtility.DeepEquals(SupportExprNodeFactory.Make2SubNodeAnd(), SupportExprNodeFactory.Make3SubNodeAnd(), false)); Assert.IsFalse(ExprNodeUtility.DeepEquals(SupportExprNodeFactory.MakeEqualsNode(), SupportExprNodeFactory.MakeMathNode(), false)); Assert.IsTrue(ExprNodeUtility.DeepEquals(SupportExprNodeFactory.MakeMathNode(), SupportExprNodeFactory.MakeMathNode(), false)); Assert.IsFalse(ExprNodeUtility.DeepEquals(SupportExprNodeFactory.MakeMathNode(), SupportExprNodeFactory.Make2SubNodeAnd(), false)); Assert.IsTrue(ExprNodeUtility.DeepEquals(SupportExprNodeFactory.Make3SubNodeAnd(), SupportExprNodeFactory.Make3SubNodeAnd(), false)); }
public void TestAnalyzeAnd() { ExprAndNode andNode = SupportExprNodeFactory.Make2SubNodeAnd(); QueryGraph graph = new QueryGraph(2, null, false); FilterExprAnalyzer.AnalyzeAndNode(andNode, graph, false); Assert.IsTrue(graph.IsNavigableAtAll(0, 1)); EPAssertionUtil.AssertEqualsExactOrder(QueryGraphTestUtil.GetStrictKeyProperties(graph, 0, 1), new String[] { "IntPrimitive", "TheString" }); EPAssertionUtil.AssertEqualsExactOrder(QueryGraphTestUtil.GetIndexProperties(graph, 1, 0), new String[] { "IntPrimitive", "TheString" }); EPAssertionUtil.AssertEqualsExactOrder(QueryGraphTestUtil.GetStrictKeyProperties(graph, 1, 0), new String[] { "IntBoxed", "TheString" }); EPAssertionUtil.AssertEqualsExactOrder(QueryGraphTestUtil.GetIndexProperties(graph, 0, 1), new String[] { "IntBoxed", "TheString" }); }
public void TestFilter() { ExprNode topNode = SupportExprNodeFactory.Make2SubNodeAnd(); var pairOne = new EventBean[2]; pairOne[0] = MakeEvent(1, 2, "a"); pairOne[1] = MakeEvent(2, 1, "a"); var pairTwo = new EventBean[2]; pairTwo[0] = MakeEvent(1, 2, "a"); pairTwo[1] = MakeEvent(2, 999, "a"); var eventSet = new HashSet <MultiKey <EventBean> >(); eventSet.Add(new MultiKey <EventBean>(pairOne)); eventSet.Add(new MultiKey <EventBean>(pairTwo)); JoinSetFilter.Filter(topNode.ExprEvaluator, eventSet, true, null); Assert.AreEqual(1, eventSet.Count); Assert.AreSame(pairOne, eventSet.FirstOrDefault().Array); }