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)); }
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(); }
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)); }
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)); }