示例#1
0
 public void FilterIndexPlan(
     EventType eventType,
     IList<ExprNode> validatedNodes,
     FilterSpecPlanForge plan)
 {
     _entries.Add(new SupportFilterPlanEntry(eventType, plan, validatedNodes));
 }
示例#2
0
 public SupportFilterPlanEntry(
     EventType eventType,
     FilterSpecPlanForge forges,
     IList <ExprNode> planNodes)
 {
     _eventType = eventType;
     _plan      = forges;
     _planNodes = planNodes;
 }
示例#3
0
        public static void AssertPlan(
            SupportFilterPlan expected,
            FilterSpecPlanForge received)
        {
            Assert.AreEqual(expected.Paths.Length, received.Paths.Length);
            AssertExpressionOpt(expected.ControlConfirm, received.FilterConfirm);
            AssertExpressionOpt(expected.ControlNegate, received.FilterNegate);

            var pathsReceived = new List<FilterSpecPlanPathForge>(Arrays.AsList(received.Paths));
            for (var i = 0; i < expected.Paths.Length; i++) {
                var pathExpected = expected.Paths[i];

                var path = FindPath(pathExpected, pathsReceived);
                if (path == null) {
                    Assert.Fail("Failed to find path: " + pathExpected);
                }

                pathsReceived.Remove(path);
                AssertPlanPath(pathExpected, path);
            }
        }