Beispiel #1
0
        private void RunAssertionFormat(EPServiceProvider epService)
        {
            string startTime = "2002-05-30T09:00:00.000";

            epService.EPRuntime.SendEvent(new CurrentTimeEvent(DateTimeParser.ParseDefaultMSec(startTime)));

            string[] fields      = "val0,val1,val2".Split(',');
            string   eplFragment = "select " +
                                   "current_timestamp.Format() as val0," +
                                   "utildate.Format() as val1," +
                                   "longdate.Format() as val2" +
                                   " from SupportDateTime";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] {
                typeof(string), typeof(string), typeof(string)
            });

            epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            object[] expected = SupportDateTime.GetArrayCoerced(startTime,
                                                                "str[utc]", "str[utc]", "str[utc]");
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, expected);

            epService.EPRuntime.SendEvent(SupportDateTime.Make(null));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] {
                SupportDateTime.GetValueCoerced(startTime, "str[utc]"), null, null
            });

            stmtFragment.Dispose();
        }
Beispiel #2
0
        public void TestCountOfEvents()
        {
            var          fields      = new[] { "val0", "val1" };
            const string eplFragment = "select " +
                                       "contained.countof(x=> x.P00 = 9) as val0, " +
                                       "contained.countof() as val1 " +
                                       " from Bean";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(int), typeof(int) });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E2,9"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields,
                                        new Object[] { 2, 3 });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields,
                                        new Object[] { null, null });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(new String[0]));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields,
                                        new Object[] { 0, 0 });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,9"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields,
                                        new Object[] { 1, 1 });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields,
                                        new Object[] { 0, 1 });
        }
Beispiel #3
0
        private void RunAssertionSubqNWCorrelated(string epl)
        {
            var fieldSelected = "c0".Split(',');
            var fieldInside   = "val0".Split(',');

            _epService.EPAdministrator.CreateEPL(EventRepresentationEnum.MAP.GetAnnotationText() + " create window MyWindow.win:keepall() as (val0 string, val1 int)");
            _epService.EPAdministrator.CreateEPL("insert into MyWindow (val0, val1) select TheString, IntPrimitive from SupportBean");
            var stmt = _epService.EPAdministrator.CreateEPL(epl);

            stmt.AddListener(_listener);
            LambdaAssertionUtil.AssertTypes(stmt.EventType, fieldSelected, new Type[] { typeof(ICollection <object>) });

            _epService.EPRuntime.SendEvent(new SupportBean("E0", 0));
            _epService.EPRuntime.SendEvent(new SupportBean_ST0("ID0", "x", 0));
            EPAssertionUtil.AssertPropsPerRow(ToArrayMap((ICollection <object>)_listener.AssertOneGetNew().Get("c0")), fieldInside, null);
            _listener.Reset();

            _epService.EPRuntime.SendEvent(new SupportBean("E1", 11));
            _epService.EPRuntime.SendEvent(new SupportBean_ST0("ID1", "x", 0));
            EPAssertionUtil.AssertPropsPerRow(ToArrayMap((ICollection <object>)_listener.AssertOneGetNew().Get("c0")), fieldInside, null);
            _listener.Reset();

            _epService.EPRuntime.SendEvent(new SupportBean("E2", 12));
            _epService.EPRuntime.SendEvent(new SupportBean_ST0("ID2", "E2", 0));
            EPAssertionUtil.AssertPropsPerRow(ToArrayMap((ICollection <object>)_listener.AssertOneGetNew().Get("c0")), fieldInside, new object[][] { new object[] { "E2" } });
            _listener.Reset();

            _epService.EPRuntime.SendEvent(new SupportBean("E3", 13));
            _epService.EPRuntime.SendEvent(new SupportBean_ST0("E3", "E3", 0));
            EPAssertionUtil.AssertPropsPerRow(ToArrayMap((ICollection <object>)_listener.AssertOneGetNew().Get("c0")), fieldInside, new object[][] { new object[] { "E3" } });
            _listener.Reset();

            _epService.EPAdministrator.DestroyAllStatements();
        }
Beispiel #4
0
        private void RunAssertionFirstLastNoPred(EPServiceProvider epService)
        {
            string eplFragment = "select " +
                                 "Contained.firstOf() as val0, " +
                                 "Contained.lastOf() as val1 " +
                                 " from Bean";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val0,val1".Split(','), new Type[] { typeof(SupportBean_ST0), typeof(SupportBean_ST0) });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E3,9", "E2,9"));
            AssertId(listener, "val0", "E1");
            AssertId(listener, "val1", "E2");
            listener.Reset();

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E2,2"));
            AssertId(listener, "val0", "E2");
            AssertId(listener, "val1", "E2");
            listener.Reset();

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            Assert.IsNull(listener.AssertOneGetNew().Get("val0"));
            Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val1"));

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            Assert.IsNull(listener.AssertOneGetNew().Get("val0"));
            Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val1"));

            stmtFragment.Dispose();
        }
Beispiel #5
0
        public void TestFirstLastScalar()
        {
            String[] fields      = "val0,val1,val2,val3".Split(',');
            String   eplFragment = "select " +
                                   "Strvals.firstOf() as val0, " +
                                   "Strvals.lastOf() as val1, " +
                                   "Strvals.firstOf(x => x like '%1%') as val2, " +
                                   "Strvals.lastOf(x => x like '%1%') as val3 " +
                                   " from SupportCollection";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(string), typeof(string), typeof(string), typeof(string) });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1,E2,E3"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { "E1", "E3", "E1", "E1" });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { "E1", "E1", "E1", "E1" });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E2,E3,E4"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { "E2", "E4", null, null });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString(""));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null, null, null });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString(null));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null, null, null });
        }
Beispiel #6
0
        public void TestSumEvents()
        {
            String[] fields      = "val0,val1,val2,val3".Split(',');
            String   eplFragment = "select " +
                                   "Beans.sumOf(x => IntBoxed) as val0," +
                                   "Beans.sumOf(x => DoubleBoxed) as val1," +
                                   "Beans.sumOf(x => LongBoxed) as val2," +
                                   "Beans.sumOf(x => DecimalBoxed) as val3 " +
                                   "from Bean";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(int?), typeof(double?), typeof(long?), typeof(decimal?) });

            _epService.EPRuntime.SendEvent(new SupportBean_Container(null));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null, null, null });

            _epService.EPRuntime.SendEvent(new SupportBean_Container(new SupportBean[0]));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null, null, null });

            List <SupportBean> list = new List <SupportBean>();

            list.Add(Make(2, 3d, 4l, 5));
            _epService.EPRuntime.SendEvent(new SupportBean_Container(list));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 2, 3d, 4L, 5m });

            list.Add(Make(4, 6d, 8l, 10));
            _epService.EPRuntime.SendEvent(new SupportBean_Container(list));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 2 + 4, 3d + 6d, 4L + 8L, 5m + 10m });
        }
Beispiel #7
0
        private void RunAssertionFirstLastScalar(EPServiceProvider epService)
        {
            string[] fields      = "val0,val1,val2,val3".Split(',');
            string   eplFragment = "select " +
                                   "Strvals.firstOf() as val0, " +
                                   "Strvals.lastOf() as val1, " +
                                   "Strvals.firstOf(x => x like '%1%') as val2, " +
                                   "Strvals.lastOf(x => x like '%1%') as val3 " +
                                   " from SupportCollection";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(string), typeof(string), typeof(string), typeof(string) });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1,E2,E3"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { "E1", "E3", "E1", "E1" });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { "E1", "E1", "E1", "E1" });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString("E2,E3,E4"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { "E2", "E4", null, null });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString(""));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { null, null, null, null });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString(null));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { null, null, null, null });

            stmtFragment.Dispose();
        }
        private void RunAssertionTakeWhileScalar(EPServiceProvider epService)
        {
            string[] fields = "val0,val1,val2,val3".Split(',');
            string   epl    = "select " +
                              "Strvals.takeWhile(x => x != 'E1') as val0," +
                              "Strvals.takeWhile( (x, i) => x != 'E1' and i<2) as val1," +
                              "Strvals.takeWhileLast(x => x != 'E1') as val2," +
                              "Strvals.takeWhileLast( (x, i) => x != 'E1' and i<2) as val3" +
                              " from SupportCollection";
            EPStatement stmt     = epService.EPAdministrator.CreateEPL(epl);
            var         listener = new SupportUpdateListener();

            stmt.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmt.EventType, fields, new Type[] {
                typeof(ICollection <string>),
                typeof(ICollection <string>),
                typeof(ICollection <string>),
                typeof(ICollection <string>)
            });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1,E2,E3,E4"));
            LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0");
            LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val1");
            LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val2", "E2", "E3", "E4");
            LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val3", "E3", "E4");
            listener.Reset();

            stmt.Dispose();
        }
Beispiel #9
0
        public void TestFields()
        {
            String[] fields      = "val0,val1,val2,val3,val4,val5,val6,val7".Split(',');
            String   eplFragment = "select " +
                                   "utildate.withMax('msec') as val0," +
                                   "utildate.withMax('sec') as val1," +
                                   "utildate.withMax('minutes') as val2," +
                                   "utildate.withMax('hour') as val3," +
                                   "utildate.withMax('day') as val4," +
                                   "utildate.withMax('month') as val5," +
                                   "utildate.withMax('year') as val6," +
                                   "utildate.withMax('week') as val7" +
                                   " from SupportDateTime";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?) });

            String[] expected =
            {
                "2002-5-30 09:00:00.999",
                "2002-5-30 09:00:59.000",
                "2002-5-30 09:59:00.000",
                "2002-5-30 23:00:00.000",
                "2002-5-31 09:00:00.000",
                "2002-12-30 09:00:00.000",
                "9999-05-30 09:00:00.000",
                "2002-12-26 09:00:00.000"
            };
            String startTime = "2002-05-30 09:00:00.000";

            _epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, SupportDateTime.GetArrayCoerced(expected, "util"));
        }
Beispiel #10
0
        public void TestCalOps()
        {
            String[] fields      = "val0,val1".Split(',');
            String   eplFragment = "select " +
                                   "utildate.set('hour', 1).set('minute', 2).set('second', 3) as val0," +
                                   "msecdate.set('hour', 1).set('minute', 2).set('second', 3) as val1" +
                                   " from SupportDateTime";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(DateTimeOffset?), typeof(long?) });

            String startTime    = "2002-05-30 09:00:00.000";
            String expectedTime = "2002-05-30 1:02:03.000";

            _epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, SupportDateTime.GetArrayCoerced(expectedTime, "util", "msec"));

            stmtFragment.Dispose();
            eplFragment = "select " +
                          "utildate.set('hour', 1).set('minute', 2).set('second', 3).toCalendar() as val0," +
                          "msecdate.set('hour', 1).set('minute', 2).set('second', 3).toCalendar() as val1" +
                          " from SupportDateTime";
            stmtFragment         = _epService.EPAdministrator.CreateEPL(eplFragment);
            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(DateTimeOffset?), typeof(DateTimeOffset?) });

            _epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, SupportDateTime.GetArrayCoerced(expectedTime, "cal", "cal"));
        }
Beispiel #11
0
        public void TestMostLeastEvents()
        {
            String[] fields      = "val0,val1".Split(',');
            String   eplFragment = "select " +
                                   "contained.MostFrequent(x => p00) as val0," +
                                   "contained.LeastFrequent(x => p00) as val1 " +
                                   "from Bean";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(int?), typeof(int?) });

            SupportBean_ST0_Container bean = SupportBean_ST0_Container.Make2Value("E1,12", "E2,11", "E2,2", "E3,12");

            _epService.EPRuntime.SendEvent(bean);
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 12, 11 });

            bean = SupportBean_ST0_Container.Make2Value("E1,12");
            _epService.EPRuntime.SendEvent(bean);
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 12, 12 });

            bean = SupportBean_ST0_Container.Make2Value("E1,12", "E2,11", "E2,2", "E3,12", "E1,12", "E2,11", "E3,11");
            _epService.EPRuntime.SendEvent(bean);
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 12, 2 });

            bean = SupportBean_ST0_Container.Make2Value("E2,11", "E1,12", "E2,15", "E3,12", "E1,12", "E2,11", "E3,11");
            _epService.EPRuntime.SendEvent(bean);
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 11, 15 });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null });
        }
Beispiel #12
0
        private void RunAssertionFields(EPServiceProvider epService)
        {
            string[] fields      = "val0,val1,val2,val3,val4,val5,val6,val7".Split(',');
            string   eplFragment = "select " +
                                   "utildate.Get('msec') as val0," +
                                   "utildate.Get('sec') as val1," +
                                   "utildate.Get('minutes') as val2," +
                                   "utildate.Get('hour') as val3," +
                                   "utildate.Get('day') as val4," +
                                   "utildate.Get('month') as val5," +
                                   "utildate.Get('year') as val6," +
                                   "utildate.Get('week') as val7" +
                                   " from SupportDateTime";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(int?), typeof(int?), typeof(int?), typeof(int?), typeof(int?), typeof(int?), typeof(int?), typeof(int?) });

            string startTime = "2002-05-30T09:01:02.003";

            epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] {
                3, 2, 1, 9, 30, 5, 2002, 22
            });

            stmtFragment.Dispose();
        }
Beispiel #13
0
        private void RunAssertionAggregateScalar(EPServiceProvider epService)
        {
            string[] fields      = "val0".Split(',');
            string   eplFragment = "select " +
                                   "Strvals.aggregate('', (result, item) => result || '+' || item) as val0 " +
                                   "from SupportCollection";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(string) });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1,E2,E3"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { "+E1+E2+E3" });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { "+E1" });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString(""));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { "" });

            epService.EPRuntime.SendEvent(SupportCollection.MakeString(null));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { null });

            stmtFragment.Dispose();
        }
Beispiel #14
0
        private void RunAssertionAggregateEvents(EPServiceProvider epService)
        {
            var    fields      = new string[] { "val0", "val1", "val2" };
            string eplFragment = "select " +
                                 "Contained.aggregate(0, (result, item) => result + item.p00) as val0, " +
                                 "Contained.aggregate('', (result, item) => result || ', ' || item.id) as val1, " +
                                 "Contained.aggregate('', (result, item) => result || (case when result='' then '' else ',' end) || item.id) as val2 " +
                                 " from Bean";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(int?), typeof(string), typeof(string) });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,12", "E2,11", "E2,2"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields,
                                        new object[] { 25, ", E1, E2, E2", "E1,E2,E2" });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields,
                                        new object[] { null, null, null });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(new string[0]));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields,
                                        new object[] { 0, "", "" });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,12"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields,
                                        new object[] { 12, ", E1", "E1" });

            stmtFragment.Dispose();
        }
Beispiel #15
0
        public void TestSetLogicWithContained()
        {
            String epl = "select " + "contained.except(containedTwo) as val0,"
                         + "contained.intersect(containedTwo) as val1, "
                         + "contained.union(containedTwo) as val2 "
                         + " from SupportBean_ST0_Container";
            EPStatement stmt = _epService.EPAdministrator.CreateEPL(epl);

            stmt.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmt.EventType, "val0".Split(','),
                                            new Type[] { typeof(ICollection <SupportBean_ST0>) }
                                            );

            List <SupportBean_ST0> first = SupportBean_ST0_Container.Make2ValueList(
                "E1,1", "E2,10", "E3,1", "E4,10", "E5,11");
            List <SupportBean_ST0> second = SupportBean_ST0_Container.Make2ValueList(
                "E1,1", "E3,1", "E4,10");

            _epService.EPRuntime.SendEvent(
                new SupportBean_ST0_Container(first, second));
            LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E2,E5");
            LambdaAssertionUtil.AssertST0Id(_listener, "val1", "E1,E3,E4");
            LambdaAssertionUtil.AssertST0Id(_listener, "val2",
                                            "E1,E2,E3,E4,E5,E1,E3,E4");
            _listener.Reset();
        }
Beispiel #16
0
        private void RunAssertionAverageEvents(EPServiceProvider epService)
        {
            var fields      = "val0,val1,val2,val3".Split(',');
            var eplFragment = "select " +
                              "beans.average(x => IntBoxed) as val0," +
                              "beans.average(x => DoubleBoxed) as val1," +
                              "beans.average(x => LongBoxed) as val2," +
                              "beans.average(x => decimalBoxed) as val3 " +
                              "from Bean";
            var stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(double?), typeof(double?), typeof(double?), typeof(decimal?) });

            epService.EPRuntime.SendEvent(new SupportBean_Container(null));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { null, null, null, null });

            epService.EPRuntime.SendEvent(new SupportBean_Container(Collections.GetEmptyList <SupportBean>()));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { null, null, null, null });

            var list = new List <SupportBean>();

            list.Add(Make(2, 3d, 4L, 5));
            epService.EPRuntime.SendEvent(new SupportBean_Container(list));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { 2d, 3d, 4d, 5.0m });

            list.Add(Make(4, 6d, 8L, 10));
            epService.EPRuntime.SendEvent(new SupportBean_Container(list));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { (2 + 4) / 2d, (3d + 6d) / 2d, (4L + 8L) / 2d, (decimal)((5 + 10) / 2d) });

            stmtFragment.Dispose();
        }
Beispiel #17
0
            public void Run(RegressionEnvironment env)
            {
                var fields = new [] { "val0","val1","val2", "val3" };
                var eplFragment = "@Name('s0') select " +
                                  "DateTime.withMax('month') as val0," +
                                  "DateTimeOffset.withMax('month') as val1," +
                                  "DateTimeEx.withMax('month') as val2," +
                                  "LongDate.withMax('month') as val3" +
                                  " from SupportDateTime";
                env.CompileDeploy(eplFragment).AddListener("s0");
                LambdaAssertionUtil.AssertTypes(
                    env.Statement("s0").EventType,
                    fields,
                    new[] {
                        typeof(DateTime?),
                        typeof(DateTimeOffset?),
                        typeof(DateTimeEx),
                        typeof(long?)
                    });

                var startTime = "2002-05-30T09:00:00.000";
                var expectedTime = "2002-12-30T09:00:00.000";
                env.SendEventBean(SupportDateTime.Make(startTime));

                EPAssertionUtil.AssertProps(
                    env.Listener("s0").AssertOneGetNewAndReset(),
                    fields,
                    SupportDateTime.GetArrayCoerced(expectedTime, "datetime", "dto", "dtx", "long"));

                env.UndeployAll();
            }
Beispiel #18
0
        private void RunAssertionReverseEvents(EPServiceProvider epService)
        {
            string      epl      = "select Contained.Reverse() as val from Bean";
            EPStatement stmt     = epService.EPAdministrator.CreateEPL(epl);
            var         listener = new SupportUpdateListener();

            stmt.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmt.EventType, "val".Split(','), new Type[] {
                typeof(ICollection <SupportBean_ST0>)
            });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E3,1"));
            LambdaAssertionUtil.AssertST0Id(listener, "val", "E3,E2,E1");
            listener.Reset();

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E2,9", "E1,1"));
            LambdaAssertionUtil.AssertST0Id(listener, "val", "E1,E2");
            listener.Reset();

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1"));
            LambdaAssertionUtil.AssertST0Id(listener, "val", "E1");
            listener.Reset();

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            LambdaAssertionUtil.AssertST0Id(listener, "val", null);
            listener.Reset();

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            LambdaAssertionUtil.AssertST0Id(listener, "val", "");
            listener.Reset();

            stmt.Dispose();
        }
Beispiel #19
0
        private void RunAssertionFirstLastPredicate(EPServiceProvider epService)
        {
            string      eplFragment  = "select Contained.firstOf(x => p00 = 9) as val from Bean";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val".Split(','), new Type[] { typeof(SupportBean_ST0) });

            SupportBean_ST0_Container bean = SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E2,9");

            epService.EPRuntime.SendEvent(bean);
            SupportBean_ST0 result = (SupportBean_ST0)listener.AssertOneGetNewAndReset().Get("val");

            Assert.AreSame(result, bean.Contained[1]);

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val"));

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val"));

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,1", "E2,1"));
            Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val"));

            stmtFragment.Dispose();
        }
Beispiel #20
0
        public void TestAllOfAnyOfEvents()
        {
            String[] fields      = "val0,val1".Split(',');
            String   eplFragment = "select " +
                                   "contained.allof(x => p00 = 12) as val0," +
                                   "contained.anyof(x => p00 = 12) as val1 " +
                                   "from Bean";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(bool), typeof(bool) });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,12", "E2,2"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { false, true });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,12", "E2,12", "E2,12"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { true, true });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,0", "E2,0", "E2,0"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { false, false });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { true, false });
        }
Beispiel #21
0
        private void RunAssertionFirstLastProperty(EPServiceProvider epService)
        {
            string[] fields      = "val0,val1".Split(',');
            string   eplFragment = "select " +
                                   "Contained.firstOf().p00 as val0, " +
                                   "Contained.lastOf().p00 as val1 " +
                                   " from Bean";
            EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment);
            var         listener     = new SupportUpdateListener();

            stmtFragment.Events += listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(int?), typeof(int?) });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E3,3"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { 1, 3 });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1"));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { 1, 1 });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { null, null });

            epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            EPAssertionUtil.AssertProps(listener.AssertOneGetNewAndReset(), fields, new object[] { null, null });

            stmtFragment.Dispose();
        }
Beispiel #22
0
        public void TestAllOfAnyOfScalar()
        {
            String[] fields      = "val0,val1".Split(',');
            String   eplFragment = "select " +
                                   "Strvals.allof(x => x='E2') as val0," +
                                   "Strvals.anyof(x => x='E2') as val1 " +
                                   "from SupportCollection";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(bool), typeof(bool) });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1,E2,E3"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { false, true });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString(null));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E2,E2"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { true, true });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { false, false });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString(""));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { true, false });
        }
Beispiel #23
0
        public void TestFirstLastNoPred()
        {
            String eplFragment = "select " +
                                 "Contained.firstOf() as val0, " +
                                 "Contained.lastOf() as val1 " +
                                 " from Bean";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val0,val1".Split(','), new Type[] { typeof(SupportBean_ST0), typeof(SupportBean_ST0) });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E3,9", "E2,9"));
            AssertId(_listener, "val0", "E1");
            AssertId(_listener, "val1", "E2");
            _listener.Reset();

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E2,2"));
            AssertId(_listener, "val0", "E2");
            AssertId(_listener, "val1", "E2");
            _listener.Reset();

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            Assert.IsNull(_listener.AssertOneGetNew().Get("val0"));
            Assert.IsNull(_listener.AssertOneGetNewAndReset().Get("val1"));

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            Assert.IsNull(_listener.AssertOneGetNew().Get("val0"));
            Assert.IsNull(_listener.AssertOneGetNewAndReset().Get("val1"));
        }
Beispiel #24
0
        public void TestNew()
        {
            String eplFragment = "select " +
                                 "contained.selectFrom(x => new {c0 = id||'x', c1 = key0||'y'}) as val0 " +
                                 "from Bean";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val0".Split(','), new Type[] { typeof(ICollection <object>) });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make3Value("E1,12,0", "E2,11,0", "E3,2,0"));
            EPAssertionUtil.AssertPropsPerRow(
                ToMapArray(_listener.AssertOneGetNewAndReset().Get("val0")), "c0,c1".Split(','),
                new Object[][] { new Object[] { "E1x", "12y" }, new Object[] { "E2x", "11y" }, new Object[] { "E3x", "2y" } });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make3Value("E4,0,1"));
            EPAssertionUtil.AssertPropsPerRow(
                ToMapArray(_listener.AssertOneGetNewAndReset().Get("val0")), "c0,c1".Split(','),
                new Object[][] { new Object[] { "E4x", "0y" } });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make3Value(null));
            EPAssertionUtil.AssertPropsPerRow(
                ToMapArray(_listener.AssertOneGetNewAndReset().Get("val0")), "c0,c1".Split(','), null);

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make3Value());
            EPAssertionUtil.AssertPropsPerRow(
                ToMapArray(_listener.AssertOneGetNewAndReset().Get("val0")), "c0,c1".Split(','),
                new Object[0][]);
        }
Beispiel #25
0
        public void TestFields()
        {
            String[] fields      = "val0,val1,val2,val3,val4,val5,val6,val7".Split(',');
            String   eplFragment = "select " +
                                   "utildate.Get('msec') as val0," +
                                   "utildate.Get('sec') as val1," +
                                   "utildate.Get('minutes') as val2," +
                                   "utildate.Get('hour') as val3," +
                                   "utildate.Get('day') as val4," +
                                   "utildate.Get('month') as val5," +
                                   "utildate.Get('year') as val6," +
                                   "utildate.Get('week') as val7" +
                                   " from SupportDateTime";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[]
            {
                typeof(int?), typeof(int?), typeof(int?),
                typeof(int?), typeof(int?), typeof(int?),
                typeof(int?), typeof(int?)
            });

            String startTime = "2002-05-30 09:01:02.003";

            _epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 3, 2, 1, 9, 30, 5, 2002, 22 });
        }
Beispiel #26
0
        public void TestMinMaxScalarWithLambda()
        {
            _epService.EPAdministrator.Configuration.AddPlugInSingleRowFunction("extractNum", typeof(MyService).FullName, "ExtractNum");

            String[] fields      = Collections.Array("val0", "val1", "val2", "val3");
            String   eplFragment = "select " +
                                   "Strvals.min(v => extractNum(v)) as val0, " +
                                   "Strvals.max(v => extractNum(v)) as val1, " +
                                   "Strvals.min(v => v) as val2, " +
                                   "Strvals.max(v => v) as val3 " +
                                   "from SupportCollection";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[]
            {
                typeof(int?),
                typeof(int?),
                typeof(string),
                typeof(string)
            });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E2,E1,E5,E4"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 1, 5, "E1", "E5" });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1"));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { 1, 1, "E1", "E1" });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString(null));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null, null, null });

            _epService.EPRuntime.SendEvent(SupportCollection.MakeString(""));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new Object[] { null, null, null, null });
        }
Beispiel #27
0
        public void TestRoundCeil()
        {
            String[] fields      = "val0,val1,val2,val3,val4,val5,val6".Split(',');
            String   eplFragment = "select " +
                                   "utildate.roundCeiling('msec') as val0," +
                                   "utildate.roundCeiling('sec') as val1," +
                                   "utildate.roundCeiling('minutes') as val2," +
                                   "utildate.roundCeiling('hour') as val3," +
                                   "utildate.roundCeiling('day') as val4," +
                                   "utildate.roundCeiling('month') as val5," +
                                   "utildate.roundCeiling('year') as val6" +
                                   " from SupportDateTime";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?), typeof(DateTimeOffset?) });

            String[] expected =
            {
                "2002-05-30 09:01:02.003",
                "2002-05-30 09:01:03.000",
                "2002-05-30 09:02:00.000",
                "2002-05-30 10:00:00.000",
                "2002-05-31 00:00:00.000",
                "2002-06-1 00:00:00.000",
                "2003-01-1 00:00:00.000",
            };
            String startTime = "2002-05-30 09:01:02.003";

            _epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, SupportDateTime.GetArrayCoerced(expected, "util"));
        }
Beispiel #28
0
        public void TestPlusMinusTimePeriod()
        {
            String startTime = "2002-05-30 9:00:00.000";

            _epService.EPRuntime.SendEvent(new CurrentTimeEvent(DateTimeParser.ParseDefaultMSec(startTime)));

            String[] fields      = "val0,val1,val2,val4,val5,val6".Split(',');
            String   eplFragment = "select " +
                                   "current_timestamp.plus(1 hour 10 sec 20 msec) as val0," +
                                   "utildate.plus(1 hour 10 sec 20 msec) as val1," +
                                   "msecdate.plus(1 hour 10 sec 20 msec) as val2," +
                                   "current_timestamp.minus(1 hour 10 sec 20 msec) as val4," +
                                   "utildate.minus(1 hour 10 sec 20 msec) as val5," +
                                   "msecdate.minus(1 hour 10 sec 20 msec) as val6" +
                                   " from SupportDateTime";
            EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment);

            stmtFragment.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(long?), typeof(DateTimeOffset?), typeof(long?), typeof(long?), typeof(DateTimeOffset?), typeof(long?) });

            _epService.EPRuntime.SendEvent(SupportDateTime.Make(startTime));
            Object[] expectedPlus  = SupportDateTime.GetArrayCoerced("2002-05-30 10:00:10.020", "msec", "util", "msec");
            Object[] expectedMinus = SupportDateTime.GetArrayCoerced("2002-05-30 07:59:49.980", "msec", "util", "msec");
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, EPAssertionUtil.ConcatenateArray(expectedPlus, expectedMinus));

            _epService.EPRuntime.SendEvent(SupportDateTime.Make(null));
            expectedPlus  = SupportDateTime.GetArrayCoerced("2002-05-30 10:00:10.020", "msec", "null", "null");
            expectedMinus = SupportDateTime.GetArrayCoerced("2002-05-30 07:59:49.980", "msec", "null", "null");
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, EPAssertionUtil.ConcatenateArray(expectedPlus, expectedMinus));
        }
Beispiel #29
0
        public void TestAggregationNoAccess()
        {
            var fields = new string[] { "val1", "val2", "val3", "val4" };
            var epl    = "" +
                         "expression sumA {x => " +
                         "   sum(x.IntPrimitive) " +
                         "} " +
                         "expression sumB {x => " +
                         "   sum(x.IntBoxed) " +
                         "} " +
                         "expression countC {" +
                         "   count(*) " +
                         "} " +
                         "select sumA(t) as val1, sumB(t) as val2, sumA(t)/sumB(t) as val3, countC() as val4 from SupportBean as t";

            var stmt = _epService.EPAdministrator.CreateEPL(epl);

            stmt.AddListener(_listener);
            LambdaAssertionUtil.AssertTypes(stmt.EventType, fields, new Type[] { typeof(int?), typeof(int?), typeof(double?), typeof(long?) });

            _epService.EPRuntime.SendEvent(GetSupportBean(5, 6));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new object[] { 5, 6, 5 / 6d, 1L });

            _epService.EPRuntime.SendEvent(GetSupportBean(8, 10));
            EPAssertionUtil.AssertProps(_listener.AssertOneGetNewAndReset(), fields, new object[] { 5 + 8, 6 + 10, (5 + 8) / (6d + 10d), 2L });
        }
Beispiel #30
0
        public void TestReverseEvents()
        {
            String      epl  = "select contained.reverse() as val from Bean";
            EPStatement stmt = _epService.EPAdministrator.CreateEPL(epl);

            stmt.Events += _listener.Update;
            LambdaAssertionUtil.AssertTypes(stmt.EventType, "val".Split(','), new Type[] { typeof(ICollection <SupportBean_ST0>) });

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E3,1"));
            LambdaAssertionUtil.AssertST0Id(_listener, "val", "E3,E2,E1");
            _listener.Reset();

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E2,9", "E1,1"));
            LambdaAssertionUtil.AssertST0Id(_listener, "val", "E1,E2");
            _listener.Reset();

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1"));
            LambdaAssertionUtil.AssertST0Id(_listener, "val", "E1");
            _listener.Reset();

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null));
            LambdaAssertionUtil.AssertST0Id(_listener, "val", null);
            _listener.Reset();

            _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value());
            LambdaAssertionUtil.AssertST0Id(_listener, "val", "");
            _listener.Reset();
        }