public void Run(RegressionEnvironment env) { var path = new RegressionPath(); var epl = "create table MyTable(sortcol sorted(IntPrimitive) @type('SupportBean'));\n" + "into table MyTable select sorted(*) as sortcol from SupportBean;\n"; env.CompileDeploy(epl, path); var select = "@Name('s0') select " + "MyTable.sortcol as sortedItself, " + "MyTable.sortcol.ceilingEvent(Id) as ce, " + "MyTable.sortcol.ceilingEvents(Id) as ces, " + "MyTable.sortcol.ceilingKey(Id) as ck, " + "MyTable.sortcol.floorEvent(Id) as fe, " + "MyTable.sortcol.floorEvents(Id) as fes, " + "MyTable.sortcol.floorKey(Id) as fk, " + "MyTable.sortcol.higherEvent(Id) as he, " + "MyTable.sortcol.higherEvents(Id) as hes, " + "MyTable.sortcol.higherKey(Id) as hk, " + "MyTable.sortcol.lowerEvent(Id) as le, " + "MyTable.sortcol.lowerEvents(Id) as les, " + "MyTable.sortcol.lowerKey(Id) as lk" + " from SupportBean_S0"; env.EplToModelCompileDeploy(select, path).AddListener("s0"); AssertType(env, typeof(SupportBean), "ce,fe,he,le"); AssertType(env, typeof(SupportBean[]), "ces,fes,hes,les"); AssertType(env, typeof(int?), "ck,fk,hk,lk"); var treemap = new OrderedListDictionary <int, IList <SupportBean> >(); PrepareTestData(env, treemap); // 1, 1, 4, 6, 6, 8, 9 for (var i = 0; i < 12; i++) { env.SendEventBean(new SupportBean_S0(i)); var @event = env.Listener("s0").AssertOneGetNewAndReset(); Assert.AreEqual(FirstEvent(treemap.GreaterThanOrEqualTo(i)), @event.Get("ce")); EPAssertionUtil.AssertEqualsExactOrder(AllEvents(treemap.GreaterThanOrEqualTo(i)), (SupportBean[])@event.Get("ces")); Assert.AreEqual(treemap.GreaterThanOrEqualTo(i)?.Key, @event.Get("ck")); Assert.AreEqual(FirstEvent(treemap.LessThanOrEqualTo(i)), @event.Get("fe")); EPAssertionUtil.AssertEqualsExactOrder(AllEvents(treemap.LessThanOrEqualTo(i)), (SupportBean[])@event.Get("fes")); Assert.AreEqual(treemap.LessThanOrEqualTo(i)?.Key, @event.Get("fk")); Assert.AreEqual(FirstEvent(treemap.GreaterThan(i)), @event.Get("he")); EPAssertionUtil.AssertEqualsExactOrder(AllEvents(treemap.GreaterThan(i)), (SupportBean[])@event.Get("hes")); Assert.AreEqual(treemap.GreaterThan(i)?.Key, @event.Get("hk")); Assert.AreEqual(FirstEvent(treemap.LessThan(i)), @event.Get("le")); EPAssertionUtil.AssertEqualsExactOrder(AllEvents(treemap.LessThan(i)), (SupportBean[])@event.Get("les")); Assert.AreEqual(treemap.LessThan(i)?.Key, @event.Get("lk")); } env.UndeployAll(); }
public void Run(RegressionEnvironment env) { var epl = "create table MyTable(sortcol sorted(IntPrimitive) @type('SupportBean'));\n" + "into table MyTable select sorted(*) as sortcol from SupportBean;\n" + "@Name('s0') select " + "MyTable.sortcol.ceilingEvent(Id).TheString as ceid," + "MyTable.sortcol.ceilingEvent(Id).firstOf() as cefo," + "MyTable.sortcol.ceilingEvents(Id).lastOf() as ceslo," + "MyTable.sortcol.floorEvent(Id).TheString as feid," + "MyTable.sortcol.floorEvent(Id).firstOf() as fefo," + "MyTable.sortcol.floorEvents(Id).lastOf() as feslo," + "MyTable.sortcol.higherEvent(Id).TheString as heid," + "MyTable.sortcol.higherEvent(Id).firstOf() as hefo," + "MyTable.sortcol.higherEvents(Id).lastOf() as heslo," + "MyTable.sortcol.lowerEvent(Id).TheString as leid," + "MyTable.sortcol.lowerEvent(Id).firstOf() as lefo," + "MyTable.sortcol.lowerEvents(Id).lastOf() as leslo " + " from SupportBean_S0"; env.CompileDeploy(epl).AddListener("s0"); AssertType(env, typeof(string), "ceid,feid,heid,leid"); AssertType(env, typeof(SupportBean), "cefo,fefo,hefo,lefo,ceslo,feslo,heslo,leslo"); var treemap = new OrderedListDictionary <int, IList <SupportBean> >(); PrepareTestData(env, treemap); // 1, 1, 4, 6, 6, 8, 9 for (var i = 0; i < 12; i++) { env.SendEventBean(new SupportBean_S0(i)); var @event = env.Listener("s0").AssertOneGetNewAndReset(); var message = "failed at " + i; Assert.AreEqual(FirstEventString(treemap.GreaterThanOrEqualTo(i)), @event.Get("ceid"), message); Assert.AreEqual(FirstEvent(treemap.GreaterThanOrEqualTo(i)), @event.Get("cefo"), message); Assert.AreEqual(LastEvent(treemap.GreaterThanOrEqualTo(i)), @event.Get("ceslo"), message); Assert.AreEqual(FirstEventString(treemap.LessThanOrEqualTo(i)), @event.Get("feid"), message); Assert.AreEqual(FirstEvent(treemap.LessThanOrEqualTo(i)), @event.Get("fefo"), message); Assert.AreEqual(LastEvent(treemap.LessThanOrEqualTo(i)), @event.Get("feslo"), message); Assert.AreEqual(FirstEventString(treemap.GreaterThan(i)), @event.Get("heid"), message); Assert.AreEqual(FirstEvent(treemap.GreaterThan(i)), @event.Get("hefo"), message); Assert.AreEqual(LastEvent(treemap.GreaterThan(i)), @event.Get("heslo"), message); Assert.AreEqual(FirstEventString(treemap.LessThan(i)), @event.Get("leid"), message); Assert.AreEqual(FirstEvent(treemap.LessThan(i)), @event.Get("lefo"), message); Assert.AreEqual(LastEvent(treemap.LessThan(i)), @event.Get("leslo"), message); } env.UndeployAll(); }