Example #1
0
 public void TearDown()
 {
     if (InstrumentationHelper.ENABLED)
     {
         InstrumentationHelper.EndTest();
     }
     _subscriber = null;
 }
	    public void SetUp()
	    {
	        _epService = EPServiceProviderManager.GetDefaultProvider(SupportConfigFactory.GetConfiguration());
	        _epService.Initialize();
	        if (InstrumentationHelper.ENABLED) { InstrumentationHelper.StartTest(_epService, this.GetType(), this.GetType().FullName);}
	        _epService.EPAdministrator.Configuration.AddEventType<SupportBean>();
	        _subscriber = new SupportSubscriberMRD();
	    }
        public override void Run(EPServiceProvider epService)
        {
            epService.EPAdministrator.Configuration.AddEventType <SupportBean>();

            string epl = "select distinct * from " +
                         "SupportBean(IntPrimitive=0) as fooB unidirectional " +
                         "inner join " +
                         "pattern [" +
                         "every-distinct(fooA.TheString) fooA=SupportBean(IntPrimitive=1)" +
                         "->" +
                         "every-distinct(wooA.TheString) wooA=SupportBean(IntPrimitive=2)" +
                         " where timer:within(1 hour)" +
                         "]#time(1 hour) as fooWooPair " +
                         "on fooB.LongPrimitive = fooWooPair.fooA.LongPrimitive" +
                         " order by fooWooPair.wooA.TheString asc";

            EPStatement stmt       = epService.EPAdministrator.CreateEPL(epl);
            var         subscriber = new SupportSubscriberMRD();

            stmt.Subscriber = subscriber;

            SendEvent(epService, "E1", 1, 10L);
            SendEvent(epService, "E2", 2, 10L);
            SendEvent(epService, "E3", 2, 10L);
            SendEvent(epService, "Query", 0, 10L);

            Assert.IsTrue(subscriber.IsInvoked());
            Assert.AreEqual(1, subscriber.InsertStreamList.Count);
            object[][] inserted = subscriber.InsertStreamList[0];
            Assert.AreEqual(2, inserted.Length);
            Assert.AreEqual("Query", ((SupportBean)inserted[0][0]).TheString);
            Assert.AreEqual("Query", ((SupportBean)inserted[1][0]).TheString);
            Map mapOne = (Map)inserted[0][1];

            Assert.AreEqual("E2", ((EventBean)mapOne.Get("wooA")).Get("TheString"));
            Assert.AreEqual("E1", ((EventBean)mapOne.Get("fooA")).Get("TheString"));
            Map mapTwo = (Map)inserted[1][1];

            Assert.AreEqual("E3", ((EventBean)mapTwo.Get("wooA")).Get("TheString"));
            Assert.AreEqual("E1", ((EventBean)mapTwo.Get("fooA")).Get("TheString"));
        }
Example #4
0
        private void RunAssertionSubscriberOnly(EPServiceProvider epService)
        {
            var subscriber = new SupportSubscriberMRD();

            SendTimer(epService, 0);
            EPStatement stmt = epService.EPAdministrator.CreateEPL("select irstream TheString,IntPrimitive from SupportBean#time_batch(1) for discrete_delivery");

            stmt.Subscriber = subscriber;

            epService.EPRuntime.SendEvent(new SupportBean("E1", 1));
            epService.EPRuntime.SendEvent(new SupportBean("E2", 2));
            epService.EPRuntime.SendEvent(new SupportBean("E3", 1));
            SendTimer(epService, 1000);
            Assert.AreEqual(3, subscriber.InsertStreamList.Count);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E1", 1 }, subscriber.InsertStreamList[0][0]);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E2", 2 }, subscriber.InsertStreamList[1][0]);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E3", 1 }, subscriber.InsertStreamList[2][0]);

            stmt.Dispose();
            subscriber.Reset();
            stmt            = epService.EPAdministrator.CreateEPL("select irstream TheString,IntPrimitive from SupportBean#time_batch(1) for grouped_delivery(IntPrimitive)");
            stmt.Subscriber = subscriber;

            epService.EPRuntime.SendEvent(new SupportBean("E1", 1));
            epService.EPRuntime.SendEvent(new SupportBean("E2", 2));
            epService.EPRuntime.SendEvent(new SupportBean("E3", 1));
            SendTimer(epService, 2000);
            Assert.AreEqual(2, subscriber.InsertStreamList.Count);
            Assert.AreEqual(2, subscriber.RemoveStreamList.Count);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E1", 1 }, subscriber.InsertStreamList[0][0]);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E3", 1 }, subscriber.InsertStreamList[0][1]);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E2", 2 }, subscriber.InsertStreamList[1][0]);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E1", 1 }, subscriber.RemoveStreamList[0][0]);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E3", 1 }, subscriber.RemoveStreamList[0][1]);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { "E2", 2 }, subscriber.RemoveStreamList[1][0]);

            stmt.Dispose();
        }
Example #5
0
            public void Run(RegressionEnvironment env)
            {
                var epl = "@Name('s0') select distinct * from " +
                          "SupportBean(IntPrimitive=0) as fooB unidirectional " +
                          "inner join " +
                          "pattern [" +
                          "every-distinct(fooA.TheString) fooA=SupportBean(IntPrimitive=1)" +
                          "->" +
                          "every-distinct(wooA.TheString) wooA=SupportBean(IntPrimitive=2)" +
                          " where timer:within(1 hour)" +
                          "]#time(1 hour) as fooWooPair " +
                          "on fooB.LongPrimitive = fooWooPair.fooA.LongPrimitive" +
                          " order by fooWooPair.wooA.TheString asc";
                env.CompileDeploy(epl);
                var subscriber = new SupportSubscriberMRD();
                env.Statement("s0").Subscriber = subscriber;

                SendEvent(env, "E1", 1, 10L);
                SendEvent(env, "E2", 2, 10L);
                SendEvent(env, "E3", 2, 10L);
                SendEvent(env, "Query", 0, 10L);

                Assert.IsTrue(subscriber.IsInvoked());
                Assert.AreEqual(1, subscriber.InsertStreamList.Count);
                var inserted = subscriber.InsertStreamList[0];
                Assert.AreEqual(2, inserted.Length);
                Assert.AreEqual("Query", ((SupportBean) inserted[0][0]).TheString);
                Assert.AreEqual("Query", ((SupportBean) inserted[1][0]).TheString);
                var mapOne = (IDictionary<string, object>) inserted[0][1];
                Assert.AreEqual("E2", ((EventBean) mapOne.Get("wooA")).Get("TheString"));
                Assert.AreEqual("E1", ((EventBean) mapOne.Get("fooA")).Get("TheString"));
                var mapTwo = (IDictionary<string, object>) inserted[1][1];
                Assert.AreEqual("E3", ((EventBean) mapTwo.Get("wooA")).Get("TheString"));
                Assert.AreEqual("E1", ((EventBean) mapTwo.Get("fooA")).Get("TheString"));

                env.UndeployAll();
            }
Example #6
0
            public void Run(RegressionEnvironment env)
            {
                SupportSubscriberMRD subscriber = new SupportSubscriberMRD();
                SendTimer(env, 0);
                env.CompileDeploy("@Name('s0') select irstream TheString,IntPrimitive from SupportBean#time_batch(1) for discrete_delivery");
                env.Statement("s0").Subscriber = subscriber;

                env.SendEventBean(new SupportBean("E1", 1));
                env.SendEventBean(new SupportBean("E2", 2));
                env.SendEventBean(new SupportBean("E3", 1));
                SendTimer(env, 1000);
                Assert.AreEqual(3, subscriber.InsertStreamList.Count);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E1", 1}, subscriber.InsertStreamList[0][0]);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E2", 2}, subscriber.InsertStreamList[1][0]);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E3", 1}, subscriber.InsertStreamList[2][0]);

                env.UndeployAll();
                subscriber.Reset();
                env.CompileDeploy("@Name('s0') select irstream TheString,IntPrimitive from SupportBean#time_batch(1) for grouped_delivery(IntPrimitive)");
                env.Statement("s0").Subscriber = subscriber;

                env.SendEventBean(new SupportBean("E1", 1));
                env.SendEventBean(new SupportBean("E2", 2));
                env.SendEventBean(new SupportBean("E3", 1));
                SendTimer(env, 2000);
                Assert.AreEqual(2, subscriber.InsertStreamList.Count);
                Assert.AreEqual(2, subscriber.RemoveStreamList.Count);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E1", 1}, subscriber.InsertStreamList[0][0]);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E3", 1}, subscriber.InsertStreamList[0][1]);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E2", 2}, subscriber.InsertStreamList[1][0]);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E1", 1}, subscriber.RemoveStreamList[0][0]);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E3", 1}, subscriber.RemoveStreamList[0][1]);
                EPAssertionUtil.AssertEqualsExactOrder(new object[] {"E2", 2}, subscriber.RemoveStreamList[1][0]);

                env.UndeployAll();
            }