Example #1
0
        private static void RunAssertion(
            RegressionEnvironment env,
            string ctx,
            AtomicLong milestone)
        {
            var fields = new [] { "c0", "c1", "c2" };
            env.SendEventBean(new SupportBean("E1", 5));
            EPAssertionUtil.AssertProps(
                env.Listener("s0").AssertOneGetNewAndReset(),
                fields,
                new object[] {ctx, "cat1", null});

            env.MilestoneInc(milestone);

            env.SendEventBean(new SupportBean("E2", 20));
            Assert.IsFalse(env.Listener("s0").IsInvoked);

            env.MilestoneInc(milestone);

            env.SendEventBean(new SupportBean("E1", 4));
            EPAssertionUtil.AssertProps(
                env.Listener("s0").AssertOneGetNewAndReset(),
                fields,
                new object[] {ctx, "cat1", 5});

            Assert.AreEqual(1, SupportContextMgmtHelper.GetContextCount(env));
            env.UndeployAll();
            Assert.AreEqual(0, SupportContextMgmtHelper.GetContextCount(env));
        }
Example #2
0
            public void Run(RegressionEnvironment env)
            {
                var epl = "@Name('context') create context NineToFive as start (0, 9, *, *, *) end (0, 17, *, *, *)";
                Assert.AreEqual(0, SupportContextMgmtHelper.GetContextCount(env));
                Assert.AreEqual(0, SupportScheduleHelper.ScheduleCountOverall(env));

                // create and destroy
                env.CompileDeploy(epl);
                Assert.AreEqual(1, SupportContextMgmtHelper.GetContextCount(env));
                Assert.AreEqual(0, SupportScheduleHelper.ScheduleCountOverall(env));

                env.UndeployModuleContaining("context");
                Assert.AreEqual(0, SupportContextMgmtHelper.GetContextCount(env));

                // create context, create statement, destroy statement, destroy context
                var path = new RegressionPath();
                env.CompileDeploy(epl, path);
                Assert.AreEqual(1, SupportContextMgmtHelper.GetContextCount(env));

                env.CompileDeploy("@Name('s0') context NineToFive select * from SupportBean", path);
                Assert.AreEqual(1, SupportScheduleHelper.ScheduleCountOverall(env));

                env.UndeployModuleContaining("s0");
                Assert.AreEqual(0, SupportScheduleHelper.ScheduleCountOverall(env));

                env.UndeployModuleContaining("context");
                Assert.AreEqual(0, SupportContextMgmtHelper.GetContextCount(env));

                // create same context
                path.Clear();
                env.CompileDeploy(epl, path);
                env.CompileDeploy("@Name('C') context NineToFive select * from SupportBean", path);
                env.CompileDeploy("@Name('D') context NineToFive select * from SupportBean", path);

                Assert.AreEqual(1, SupportScheduleHelper.ScheduleCountOverall(env));

                env.UndeployAll();
                Assert.AreEqual(0, SupportContextMgmtHelper.GetContextCount(env));
                Assert.AreEqual(0, SupportScheduleHelper.ScheduleCountOverall(env));

                env.UndeployAll();
            }
Example #3
0
            public void Run(RegressionEnvironment env)
            {
                var milestone = new AtomicLong();
                var ctx = "CategorizedContext";
                var fields = new [] { "c0", "c1", "c2" };

                var epl = "@Name('context') create context " +
                          ctx +
                          " " +
                          "group IntPrimitive < 10 as cat1, " +
                          "group IntPrimitive between 10 and 20 as cat2, " +
                          "group IntPrimitive > 20 as cat3 " +
                          "from SupportBean;\n";
                epl += "@Name('s0') context CategorizedContext " +
                       "select context.name as c0, context.label as c1, sum(IntPrimitive) as c2 from SupportBean;\n";
                env.CompileDeploy(epl).AddListener("s0");

                Assert.AreEqual(3, SupportFilterServiceHelper.GetFilterSvcCountApprox(env));
                AgentInstanceAssertionUtil.AssertInstanceCounts(env, "s0", 3, null, null, null);

                env.MilestoneInc(milestone);

                env.SendEventBean(new SupportBean("E1", 5));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {ctx, "cat1", 5});
                EPAssertionUtil.AssertPropsPerRow(
                    env.Statement("s0").GetEnumerator(),
                    env.Statement("s0").GetSafeEnumerator(),
                    fields,
                    new[] {
                        new object[] {ctx, "cat1", 5},
                        new object[] {ctx, "cat2", null},
                        new object[] {ctx, "cat3", null}
                    });

                env.MilestoneInc(milestone);

                env.SendEventBean(new SupportBean("E2", 4));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {ctx, "cat1", 9});

                env.SendEventBean(new SupportBean("E3", 11));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {ctx, "cat2", 11});

                env.MilestoneInc(milestone);

                env.SendEventBean(new SupportBean("E4", 25));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {ctx, "cat3", 25});

                env.SendEventBean(new SupportBean("E5", 25));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {ctx, "cat3", 50});

                env.MilestoneInc(milestone);

                env.SendEventBean(new SupportBean("E6", 3));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {ctx, "cat1", 12});

                EPAssertionUtil.AssertPropsPerRow(
                    env.Statement("s0").GetEnumerator(),
                    env.Statement("s0").GetSafeEnumerator(),
                    fields,
                    new[] {
                        new object[] {ctx, "cat1", 12},
                        new object[] {ctx, "cat2", 11},
                        new object[] {ctx, "cat3", 50}
                    });

                Assert.AreEqual(1, SupportContextMgmtHelper.GetContextCount(env));
                Assert.AreEqual(3, SupportFilterServiceHelper.GetFilterSvcCountApprox(env));

                env.UndeployModuleContaining("s0");

                Assert.AreEqual(0, SupportFilterServiceHelper.GetFilterSvcCountApprox(env));
                Assert.AreEqual(0, SupportContextMgmtHelper.GetContextCount(env));
            }
Example #4
0
            private static void TryAssertionHash(
                RegressionEnvironment env,
                AtomicLong milestone,
                string stmtNameIterate,
                string stmtNameContext)
            {
                var fields = new[] {"c0", "c1", "c2"};

                env.SendEventBean(new SupportBean("E1", 5));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {stmtNameContext, "E1", 5});
                AssertIterator(
                    env,
                    stmtNameIterate,
                    fields,
                    new[] {
                        new object[] {stmtNameContext, "E1", 5}
                    });

                env.MilestoneInc(milestone);

                env.SendEventBean(new SupportBean("E2", 6));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {stmtNameContext, "E2", 6});
                AssertIterator(
                    env,
                    stmtNameIterate,
                    fields,
                    new[] {
                        new object[] {stmtNameContext, "E1", 5},
                        new object[] {stmtNameContext, "E2", 6}
                    });

                env.SendEventBean(new SupportBean("E3", 7));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {stmtNameContext, "E3", 7});
                AssertIterator(
                    env,
                    stmtNameIterate,
                    fields,
                    new[] {
                        new object[] {stmtNameContext, "E1", 5},
                        new object[] {stmtNameContext, "E3", 7},
                        new object[] {stmtNameContext, "E2", 6}
                    });

                env.MilestoneInc(milestone);

                env.SendEventBean(new SupportBean("E4", 8));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {stmtNameContext, "E4", 8});
                AssertIterator(
                    env,
                    stmtNameIterate,
                    fields,
                    new[] {
                        new object[] {stmtNameContext, "E1", 5},
                        new object[] {stmtNameContext, "E3", 7},
                        new object[] {stmtNameContext, "E4", 8},
                        new object[] {stmtNameContext, "E2", 6}
                    });

                env.SendEventBean(new SupportBean("E5", 9));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {stmtNameContext, "E5", 9});
                AssertIterator(
                    env,
                    stmtNameIterate,
                    fields,
                    new[] {
                        new object[] {stmtNameContext, "E5", 9},
                        new object[] {stmtNameContext, "E1", 5},
                        new object[] {stmtNameContext, "E3", 7},
                        new object[] {stmtNameContext, "E4", 8},
                        new object[] {stmtNameContext, "E2", 6}
                    });

                env.MilestoneInc(milestone);

                env.SendEventBean(new SupportBean("E1", 10));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {stmtNameContext, "E1", 15});
                AssertIterator(
                    env,
                    stmtNameIterate,
                    fields,
                    new[] {
                        new object[] {stmtNameContext, "E5", 9},
                        new object[] {stmtNameContext, "E1", 15},
                        new object[] {stmtNameContext, "E3", 7},
                        new object[] {stmtNameContext, "E4", 8},
                        new object[] {stmtNameContext, "E2", 6}
                    });

                env.SendEventBean(new SupportBean("E4", 11));
                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    new object[] {stmtNameContext, "E4", 19});
                AssertIterator(
                    env,
                    stmtNameIterate,
                    fields,
                    new[] {
                        new object[] {stmtNameContext, "E5", 9},
                        new object[] {stmtNameContext, "E1", 15},
                        new object[] {stmtNameContext, "E3", 7},
                        new object[] {stmtNameContext, "E4", 19},
                        new object[] {stmtNameContext, "E2", 6}
                    });

                Assert.AreEqual(1, SupportContextMgmtHelper.GetContextCount(env));

                env.UndeployModuleContaining("s0");
                Assert.AreEqual(1, SupportContextMgmtHelper.GetContextCount(env));

                env.UndeployAll();
                Assert.AreEqual(0, SupportContextMgmtHelper.GetContextCount(env));
            }