/// <summary>
        /// Test route of multiple events within a listener.
        /// The Listener when it receives an event will generate multiple new events
        /// that it routes back into the runtime, up to X number of times.
        /// </summary>
        /// <param name="epService">The ep service.</param>
        private void RunAssertionRouteCascade(EPServiceProvider epService)
        {
            var epl         = "every tag=" + typeof(SupportBean).FullName;
            var patternStmt = epService.EPAdministrator.CreatePattern(epl);

            var listener = new CascadeRouteUpdateListener(epService, RouteEvent);

            patternStmt.Events += listener.Update;

            // Send first event that triggers the loop
            sendEvent(epService, 2); // the 2 translates to number of new events routed

            // Should have fired X times
            Assert.AreEqual(9, listener.CountReceived);
            Assert.AreEqual(8, listener.CountRouted);

            //  Num    Received         Routes      Num
            //  2             1           2         3
            //  3             2           6         4
            //  4             6             -
        }
Exemplo n.º 2
0
            public void Run(RegressionEnvironment env)
            {
                var epl = "@Name('s0') select * from pattern[every tag=SupportBean]";
                env.CompileDeploy(epl);

                var listener = new CascadeRouteUpdateListener(env.Runtime);
                env.Statement("s0").AddListener(listener);

                // Send first event that triggers the loop
                SendEvent(env.Runtime, 2); // the 2 translates to number of new events routed

                // Should have fired X times
                Assert.AreEqual(9, listener.CountReceived);
                Assert.AreEqual(8, listener.CountRouted);

                //  Num    Received         Routes      Num
                //  2             1           2         3
                //  3             2           6         4
                //  4             6             -

                env.UndeployAll();
            }
Exemplo n.º 3
0
        public void TestRouteCascade()
        {
            String      viewExpr    = "every tag=" + typeof(SupportBean).FullName;
            EPStatement patternStmt = _epService.EPAdministrator.CreatePattern(viewExpr);

            CascadeRouteUpdateListener listener = new CascadeRouteUpdateListener {
                RouteEvent = RouteEvent
            };

            patternStmt.Events += listener.Update;

            // Send first event that triggers the loop
            SendEvent(2);       // the 2 translates to number of new events routed

            // Should have fired X times
            Assert.AreEqual(9, listener.CountReceived);
            Assert.AreEqual(8, listener.CountRouted);

            //  Num    Received         Routes      Num
            //  2             1           2         3
            //  3             2           6         4
            //  4             6             -
        }