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 }); }
private void RunAssertionAllOfAnyOfEvents(EPServiceProvider epService) { 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); var listener = new SupportUpdateListener(); 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 }); stmtFragment.Dispose(); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2,c3,c4".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.aggregate(0, (result, item) => result + item.P00)"); builder.WithExpression(fields[1], "Contained.aggregate('', (result, item) => result || ', ' || item.Id)"); builder.WithExpression(fields[2], "Contained.aggregate('', (result, item) => result || (case when result='' then '' else ',' end) || item.Id)"); builder.WithExpression(fields[3], "Contained.aggregate(0, (result, item, i) => result + item.P00 + i*10)"); builder.WithExpression(fields[4], "Contained.aggregate(0, (result, item, i, s) => result + item.P00 + i*10 + s*100)"); builder.WithStatementConsumer( stmt => LambdaAssertionUtil.AssertTypes( stmt.EventType, fields, new[] { typeof(int?), typeof(string), typeof(string), typeof(int?), typeof(int?) })); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,12", "E2,11", "E2,2")) .Expect(fields, 25, ", E1, E2, E2", "E1,E2,E2", 12 + 21 + 22, 312 + 321 + 322); builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()) .Expect(fields, null, null, null, null, null); builder.WithAssertion(SupportBean_ST0_Container.Make2Value(new string[0])) .Expect(fields, 0, "", "", 0, 0); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,12")) .Expect(fields, 12, ", E1", "E1", 12, 112); builder.Run(env); }
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 }); }
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(); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.toMap(c => Id, d => P00)"); builder.WithExpression(fields[1], "Contained.toMap((c, index) => Id || '_' || Convert.ToString(index), (d, index) => P00 + 10*index)"); builder.WithExpression( fields[2], "Contained.toMap((c, index, size) => Id || '_' || Convert.ToString(index) || '_' || Convert.ToString(size), (d, index, size) => P00 + 10*index + 100*size)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(IDictionary <object, object>))); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E3,12", "E2,5")) .Verify("c0", val => CompareMap(val, "E1,E3,E2", 1, 12, 5)) .Verify("c1", val => CompareMap(val, "E1_0,E3_1,E2_2", 1, 22, 25)) .Verify("c2", val => CompareMap(val, "E1_0_3,E3_1_3,E2_2_3", 301, 322, 325)); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E3,4", "E2,7", "E1,2")) .Verify("c0", val => CompareMap(val, "E1,E3,E2", 2, 4, 7)) .Verify("c1", val => CompareMap(val, "E1_0,E3_1,E2_2,E1_3", 1, 14, 27, 32)) .Verify("c2", val => CompareMap(val, "E1_0_4,E3_1_4,E2_2_4,E1_3_4", 401, 414, 427, 432)); builder.WithAssertion(new SupportBean_ST0_Container(Collections.SingletonList(new SupportBean_ST0(null, null)))) .Verify("c0", val => CompareMap(val, "E1,E2,E3", null, null, null)) .Verify("c1", val => CompareMap(val, "E1,E2,E3", null, null, null)) .Verify("c2", val => CompareMap(val, "E1,E2,E3", null, null, null)); builder.Run(env); }
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(); }
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 }); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2,c3".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.orderBy( (x, i) => case when i <= 2 then P00 else i-10 end)"); builder.WithExpression(fields[1], "Contained.orderByDesc( (x, i) => case when i <= 2 then P00 else i-10 end)"); builder.WithExpression(fields[2], "Contained.orderBy( (x, i, s) => case when s <= 2 then P00 else i-10 end)"); builder.WithExpression(fields[3], "Contained.orderByDesc( (x, i, s) => case when s <= 2 then P00 else i-10 end)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(ICollection <object>))); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2")) .Verify("c0", val => AssertST0Id(val, "E1,E2")) .Verify("c1", val => AssertST0Id(val, "E2,E1")) .Verify("c2", val => AssertST0Id(val, "E1,E2")) .Verify("c3", val => AssertST0Id(val, "E2,E1")); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2", "E3,3", "E4,4")) .Verify("c0", val => AssertST0Id(val, "E4,E1,E2,E3")) .Verify("c1", val => AssertST0Id(val, "E3,E2,E1,E4")) .Verify("c2", val => AssertST0Id(val, "E1,E2,E3,E4")) .Verify("c3", val => AssertST0Id(val, "E4,E3,E2,E1")); builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()).Expect(fields, null, null, null, null); builder.WithAssertion(SupportBean_ST0_Container.Make2Value()) .Verify("c0", val => AssertST0Id(val, "")) .Verify("c1", val => AssertST0Id(val, "")) .Verify("c2", val => AssertST0Id(val, "")) .Verify("c3", val => AssertST0Id(val, "")); builder.Run(env); }
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(); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2,c3".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.countof()"); builder.WithExpression(fields[1], "Contained.countof(x => x.P00 = 9)"); builder.WithExpression(fields[2], "Contained.countof((x, i) => x.P00 + i = 10)"); builder.WithExpression(fields[3], "Contained.countof((x, i, s) => x.P00 + i + s = 100)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(int?))); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E2,9")).Expect(fields, 3, 2, 1, 0); builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()).Expect(fields, null, null, null, null); builder.WithAssertion(SupportBean_ST0_Container.Make2Value()).Expect(fields, 0, 0, 0, 0); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,9")).Expect(fields, 1, 1, 0, 0); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1")).Expect(fields, 1, 0, 0, 0); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,10", "E2,9")).Expect(fields, 2, 1, 2, 0); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,98", "E2,97")).Expect(fields, 2, 0, 0, 2); builder.Run(env); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.arrayOf(x => x.P00)"); builder.WithExpression(fields[1], "Contained.arrayOf((x, i) => x.P00 + i*10)"); builder.WithExpression(fields[2], "Contained.arrayOf((x, i, s) => x.P00 + i*10 + s*100)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(int?[]))); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E2,2")) .Expect(fields, IntArray(1, 9, 2), IntArray(1, 19, 22), IntArray(301, 319, 322)); builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()) .Expect(fields, null, null, null); builder.WithAssertion(SupportBean_ST0_Container.Make2Value()) .Expect(fields, IntArray(), IntArray(), IntArray()); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,9")) .Expect(fields, IntArray(9), IntArray(9), IntArray(109)); builder.Run(env); }
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(); }
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(); }
public void TestWhereEvents() { String epl = "select " + "contained.Where(x => p00 = 9) as val0," + "contained.Where((x, i) => x.P00 = 9 and i >= 1) as val1 from Bean"; EPStatement stmt = _epService.EPAdministrator.CreateEPL(epl); stmt.Events += _listener.Update; LambdaAssertionUtil.AssertTypes(stmt.EventType, "val0,val1".Split(','), new Type[] { typeof(ICollection <object>), typeof(ICollection <object>) }); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E3,1")); LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E2"); LambdaAssertionUtil.AssertST0Id(_listener, "val1", "E2"); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,9", "E2,1", "E3,1")); LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E1"); LambdaAssertionUtil.AssertST0Id(_listener, "val1", ""); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,1", "E3,9")); LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E3"); LambdaAssertionUtil.AssertST0Id(_listener, "val1", "E3"); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null)); LambdaAssertionUtil.AssertST0Id(_listener, "val0", null); LambdaAssertionUtil.AssertST0Id(_listener, "val1", null); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value()); LambdaAssertionUtil.AssertST0Id(_listener, "val0", ""); LambdaAssertionUtil.AssertST0Id(_listener, "val1", ""); _listener.Reset(); }
public void TestDistinctEvents() { String[] fields = "val0".Split(','); String eplFragment = "select " + "contained.DistinctOf(x => p00) as val0 " + " from Bean"; EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment); stmtFragment.Events += _listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(ICollection <object>) }); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2", "E3,1")); LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E1,E2"); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E3,1", "E2,2", "E4,1", "E1,2")); LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E3,E2"); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null)); foreach (String field in fields) { LambdaAssertionUtil.AssertST0Id(_listener, field, null); } _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value()); foreach (String field in fields) { LambdaAssertionUtil.AssertST0Id(_listener, field, ""); } _listener.Reset(); }
public void TestAggregateEvents() { String[] 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); 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" }); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2,c3,c4,c5".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.mostFrequent(x => P00)"); builder.WithExpression(fields[1], "Contained.leastFrequent(x => P00)"); builder.WithExpression(fields[2], "Contained.mostFrequent( (x, i) => P00 + i*2)"); builder.WithExpression(fields[3], "Contained.leastFrequent( (x, i) => P00 + i*2)"); builder.WithExpression(fields[4], "Contained.mostFrequent( (x, i, s) => P00 + i*2 + s*4)"); builder.WithExpression(fields[5], "Contained.leastFrequent( (x, i, s) => P00 + i*2 + s*4)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(int?))); SupportBean_ST0_Container bean = SupportBean_ST0_Container.Make2Value("E1,12", "E2,11", "E2,2", "E3,12"); builder.WithAssertion(bean).Expect(fields, 12, 11, 12, 12, 28, 28); bean = SupportBean_ST0_Container.Make2Value("E1,12"); builder.WithAssertion(bean).Expect(fields, 12, 12, 12, 12, 16, 16); bean = SupportBean_ST0_Container.Make2Value("E1,12", "E2,11", "E2,2", "E3,12", "E1,12", "E2,11", "E3,11"); builder.WithAssertion(bean).Expect(fields, 12, 2, 12, 12, 40, 40); bean = SupportBean_ST0_Container.Make2Value("E2,11", "E1,12", "E2,15", "E3,12", "E1,12", "E2,11", "E3,11"); builder.WithAssertion(bean).Expect(fields, 11, 15, 11, 11, 39, 39); builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()).Expect(fields, null, null, null, null, null, null); builder.WithAssertion(SupportBean_ST0_Container.Make2Value()).Expect(fields, null, null, null, null, null, null); builder.Run(env); }
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")); }
public void Run(RegressionEnvironment env) { string[] fields = "c0".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.reverse()"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(ICollection <object>))); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E3,1")) .Verify("c0", val => AssertST0Id(val, "E3,E2,E1")); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E2,9", "E1,1")) .Verify("c0", val => AssertST0Id(val, "E1,E2")); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1")) .Verify("c0", val => AssertST0Id(val, "E1")); builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()) .Verify("c0", val => AssertST0Id(val, null)); builder.WithAssertion(SupportBean_ST0_Container.Make2Value()) .Verify("c0", val => AssertST0Id(val, "")); builder.Run(env); }
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(); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2,c3,c4,c5".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.firstOf(x => P00 = 9)"); builder.WithExpression(fields[1], "Contained.lastOf(x => P00 = 9)"); builder.WithExpression(fields[2], "Contained.firstOf( (x, i) => P00 = 9 and i >= 1)"); builder.WithExpression(fields[3], "Contained.lastOf( (x, i) => P00 = 9 and i >= 1)"); builder.WithExpression(fields[4], "Contained.firstOf( (x, i, s) => P00 = 9 and i >= 1 and s > 2)"); builder.WithExpression(fields[5], "Contained.lastOf((x, i, s) => P00 = 9 and i >= 1 and s > 2)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(SupportBean_ST0))); SupportBean_ST0_Container beanOne = SupportBean_ST0_Container.Make2Value("E1,1", "E2,9", "E2,9"); builder.WithAssertion(beanOne) .Expect( fields, beanOne.Contained[1], beanOne.Contained[2], beanOne.Contained[1], beanOne.Contained[2], beanOne.Contained[1], beanOne.Contained[2]); builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()).Expect(fields, null, null, null, null, null, null); builder.WithAssertion(SupportBean_ST0_Container.Make2Value()).Expect(fields, null, null, null, null, null, null); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,1", "E2,1")).Expect(fields, null, null, null, null, null, null); SupportBean_ST0_Container beanTwo = SupportBean_ST0_Container.Make2Value("E1,1", "E2,9"); builder.WithAssertion(beanTwo) .Expect( fields, beanTwo.Contained[1], beanTwo.Contained[1], beanTwo.Contained[1], beanTwo.Contained[1], null, null); SupportBean_ST0_Container beanThree = SupportBean_ST0_Container.Make2Value("E2,9", "E1,1"); builder.WithAssertion(beanThree) .Expect( fields, beanThree.Contained[0], beanThree.Contained[0], null, null, null, null); builder.Run(env); }
private void RunAssertionOrderByEvents(EPServiceProvider epService) { string[] fields = "val0,val1,val2,val3,val4,val5".Split(','); string eplFragment = "select " + "Contained.orderBy(x => p00) as val0," + "Contained.orderBy(x => 10 - p00) as val1," + "Contained.orderBy(x => 0) as val2," + "Contained.OrderByDesc(x => p00) as val3," + "Contained.OrderByDesc(x => 10 - p00) as val4," + "Contained.OrderByDesc(x => 0) as val5" + " from Bean"; EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment); var listener = new SupportUpdateListener(); stmtFragment.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>) }); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2")); LambdaAssertionUtil.AssertST0Id(listener, "val0", "E1,E2"); LambdaAssertionUtil.AssertST0Id(listener, "val1", "E2,E1"); LambdaAssertionUtil.AssertST0Id(listener, "val2", "E1,E2"); LambdaAssertionUtil.AssertST0Id(listener, "val3", "E2,E1"); LambdaAssertionUtil.AssertST0Id(listener, "val4", "E1,E2"); LambdaAssertionUtil.AssertST0Id(listener, "val5", "E1,E2"); listener.Reset(); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E3,1", "E2,2", "E4,1", "E1,2")); LambdaAssertionUtil.AssertST0Id(listener, "val0", "E3,E4,E2,E1"); LambdaAssertionUtil.AssertST0Id(listener, "val1", "E2,E1,E3,E4"); LambdaAssertionUtil.AssertST0Id(listener, "val2", "E3,E2,E4,E1"); LambdaAssertionUtil.AssertST0Id(listener, "val3", "E2,E1,E3,E4"); LambdaAssertionUtil.AssertST0Id(listener, "val4", "E3,E4,E2,E1"); LambdaAssertionUtil.AssertST0Id(listener, "val5", "E3,E2,E4,E1"); listener.Reset(); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null)); foreach (string field in fields) { LambdaAssertionUtil.AssertST0Id(listener, field, null); } listener.Reset(); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value()); foreach (string field in fields) { LambdaAssertionUtil.AssertST0Id(listener, field, ""); } listener.Reset(); stmtFragment.Dispose(); }
public void TestOrderByEvents() { String[] fields = "val0,val1,val2,val3,val4,val5".Split(','); String eplFragment = "select " + "contained.orderBy(x => p00) as val0," + "contained.orderBy(x => 10 - p00) as val1," + "contained.orderBy(x => 0) as val2," + "contained.orderByDesc(x => p00) as val3," + "contained.orderByDesc(x => 10 - p00) as val4," + "contained.orderByDesc(x => 0) as val5" + " from Bean"; EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment); stmtFragment.Events += _listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>), typeof(ICollection <SupportBean_ST0>) }); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2")); LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E1,E2"); LambdaAssertionUtil.AssertST0Id(_listener, "val1", "E2,E1"); LambdaAssertionUtil.AssertST0Id(_listener, "val2", "E1,E2"); LambdaAssertionUtil.AssertST0Id(_listener, "val3", "E2,E1"); LambdaAssertionUtil.AssertST0Id(_listener, "val4", "E1,E2"); LambdaAssertionUtil.AssertST0Id(_listener, "val5", "E1,E2"); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E3,1", "E2,2", "E4,1", "E1,2")); LambdaAssertionUtil.AssertST0Id(_listener, "val0", "E3,E4,E2,E1"); LambdaAssertionUtil.AssertST0Id(_listener, "val1", "E2,E1,E3,E4"); LambdaAssertionUtil.AssertST0Id(_listener, "val2", "E3,E2,E4,E1"); LambdaAssertionUtil.AssertST0Id(_listener, "val3", "E2,E1,E3,E4"); LambdaAssertionUtil.AssertST0Id(_listener, "val4", "E3,E4,E2,E1"); LambdaAssertionUtil.AssertST0Id(_listener, "val5", "E3,E2,E4,E1"); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null)); foreach (String field in fields) { LambdaAssertionUtil.AssertST0Id(_listener, field, null); } _listener.Reset(); _epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value()); foreach (String field in fields) { LambdaAssertionUtil.AssertST0Id(_listener, field, ""); } _listener.Reset(); }
private static void SendAssert( RegressionEnvironment env, string[] fields, double?expected, params string[] values) { env.SendEventBean(SupportBean_ST0_Container.Make2Value(values)); EPAssertionUtil.AssertProps(env.Listener("s0").AssertOneGetNewAndReset(), fields, new object[] { expected }); }
private void RunAssertionKeySelectorOnly(EPServiceProvider epService) { // - duplicate key allowed, creates a list of values // - null key & value allowed var eplFragment = "select Contained.GroupBy(c => id) as val from Bean"; var stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment); var listener = new SupportUpdateListener(); stmtFragment.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val".Split(','), new[] { typeof(IDictionary<object, ICollection<object>>) }); var extractorEvents = new EPAssertionUtil.ProxyAssertionCollectionValueString { ProcExtractValue = collectionItem => { var p00 = ((SupportBean_ST0) collectionItem).P00; return Convert.ToString(p00); } }; epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E1,2", "E2,5")); EPAssertionUtil.AssertMapOfCollection( (IDictionary<object, ICollection<object>>) listener.AssertOneGetNewAndReset().Get("val"), "E1,E2".Split(','), new[] {"1,2", "5"}, extractorEvents); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null)); Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val")); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value()); Assert.AreEqual(0, listener.AssertOneGetNewAndReset().Get("val").UnwrapEnumerable<object>().Count()); stmtFragment.Dispose(); // test scalar var eplScalar = "select Strvals.GroupBy(c => extractAfterUnderscore(c)) as val from SupportCollection"; var stmtScalar = epService.EPAdministrator.CreateEPL(eplScalar); stmtScalar.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtScalar.EventType, "val".Split(','), new[] { typeof(IDictionary<object, ICollection<object>>) }); epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1_2,E2_1,E3_2")); EPAssertionUtil.AssertMapOfCollection( listener.AssertOneGetNewAndReset().Get("val").UnwrapStringDictionary(), "2,1".Split(','), new[] {"E1_2,E3_2", "E2_1"}, GetExtractorScalar()); epService.EPRuntime.SendEvent(SupportCollection.MakeString(null)); Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val")); epService.EPRuntime.SendEvent(SupportCollection.MakeString("")); Assert.AreEqual(0, listener.AssertOneGetNewAndReset().Get("val").Unwrap<object>().Count); stmtScalar.Dispose(); }
private void RunAssertionSelect(EPServiceProvider epService) { string eplFragment = "select " + "Contained.selectFrom(x => id) as val0 " + "from Bean"; EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment); var listener = new SupportUpdateListener(); stmtFragment.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val0".Split(','), new Type[] { typeof(ICollection <string>) }); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,12", "E2,11", "E3,2")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", "E1", "E2", "E3"); listener.Reset(); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value(null)); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", null); listener.Reset(); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value()); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", new string[0]); listener.Reset(); stmtFragment.Dispose(); // test scalar-coll with lambda string[] fields = "val0".Split(','); epService.EPAdministrator.Configuration.AddPlugInSingleRowFunction("extractNum", typeof(ExecEnumMinMax.MyService), "ExtractNum"); string eplLambda = "select " + "Strvals.selectFrom(v => extractNum(v)) as val0 " + "from SupportCollection"; EPStatement stmtLambda = epService.EPAdministrator.CreateEPL(eplLambda); stmtLambda.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtLambda.EventType, fields, new Type[] { typeof(ICollection <int>), typeof(ICollection <int>) }); epService.EPRuntime.SendEvent(SupportCollection.MakeString("E2,E1,E5,E4")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", 2, 1, 5, 4); listener.Reset(); epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", 1); listener.Reset(); epService.EPRuntime.SendEvent(SupportCollection.MakeString(null)); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", null); listener.Reset(); epService.EPRuntime.SendEvent(SupportCollection.MakeString("")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0"); stmtLambda.Dispose(); }
public void Run(RegressionEnvironment env) { string[] fields = "c0,c1,c2,c3,c4,c5".SplitCsv(); SupportEvalBuilder builder = new SupportEvalBuilder("SupportBean_ST0_Container"); builder.WithExpression(fields[0], "Contained.take(2)"); builder.WithExpression(fields[1], "Contained.take(1)"); builder.WithExpression(fields[2], "Contained.take(0)"); builder.WithExpression(fields[3], "Contained.take(-1)"); builder.WithExpression(fields[4], "Contained.takeLast(2)"); builder.WithExpression(fields[5], "Contained.takeLast(1)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(ICollection <object>))); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2", "E3,3")) .Verify("c0", val => AssertST0Id(val, "E1,E2")) .Verify("c1", val => AssertST0Id(val, "E1")) .Verify("c2", val => AssertST0Id(val, "")) .Verify("c3", val => AssertST0Id(val, "")) .Verify("c4", val => AssertST0Id(val, "E2,E3")) .Verify("c5", val => AssertST0Id(val, "E3")); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1", "E2,2")) .Verify("c0", val => AssertST0Id(val, "E1,E2")) .Verify("c1", val => AssertST0Id(val, "E1")) .Verify("c2", val => AssertST0Id(val, "")) .Verify("c3", val => AssertST0Id(val, "")) .Verify("c4", val => AssertST0Id(val, "E1,E2")) .Verify("c5", val => AssertST0Id(val, "E2")); builder.WithAssertion(SupportBean_ST0_Container.Make2Value("E1,1")) .Verify("c0", val => AssertST0Id(val, "E1")) .Verify("c1", val => AssertST0Id(val, "E1")) .Verify("c2", val => AssertST0Id(val, "")) .Verify("c3", val => AssertST0Id(val, "")) .Verify("c4", val => AssertST0Id(val, "E1")) .Verify("c5", val => AssertST0Id(val, "E1")); SupportEvalAssertionBuilder assertionEmpty = builder.WithAssertion(SupportBean_ST0_Container.Make2Value()); foreach (string field in fields) { assertionEmpty.Verify(field, val => AssertST0Id(val, "")); } SupportEvalAssertionBuilder assertionNull = builder.WithAssertion(SupportBean_ST0_Container.Make2ValueNull()); foreach (string field in fields) { assertionNull.Verify(field, val => AssertST0Id(val, null)); } builder.Run(env); }
public override void Run(EPServiceProvider epService) { // - duplicate value allowed, latest value wins // - null key & value allowed string eplFragment = "select Contained.ToMap(c => id, c=> p00) 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(IDictionary <object, object>) }); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E3,12", "E2,5")); EPAssertionUtil.AssertPropsMap(listener.AssertOneGetNewAndReset().Get("val").UnwrapStringDictionary(), "E1,E2,E3".Split(','), new object[] { 1, 5, 12 }); epService.EPRuntime.SendEvent(SupportBean_ST0_Container.Make2Value("E1,1", "E3,12", "E2,12", "E1,2")); EPAssertionUtil.AssertPropsMap(listener.AssertOneGetNewAndReset().Get("val").UnwrapStringDictionary(), "E1,E2,E3".Split(','), new object[] { 2, 12, 12 }); epService.EPRuntime.SendEvent(new SupportBean_ST0_Container(Collections.SingletonList(new SupportBean_ST0(null, null)))); EPAssertionUtil.AssertPropsMap(listener.AssertOneGetNewAndReset().Get("val").UnwrapStringDictionary(), "E1,E2,E3".Split(','), new object[] { null, null, null }); stmtFragment.Dispose(); // test scalar-coll with lambda string[] fields = "val0".Split(','); epService.EPAdministrator.Configuration.AddPlugInSingleRowFunction("extractNum", typeof(ExecEnumMinMax.MyService), "ExtractNum"); string eplLambda = "select " + "Strvals.ToMap(c => c, c => extractNum(c)) as val0 " + "from SupportCollection"; EPStatement stmtLambda = epService.EPAdministrator.CreateEPL(eplLambda); stmtLambda.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtLambda.EventType, fields, new Type[] { typeof(IDictionary <object, object>) }); epService.EPRuntime.SendEvent(SupportCollection.MakeString("E2,E1,E3")); EPAssertionUtil.AssertPropsMap( listener.AssertOneGetNewAndReset().Get("val0").UnwrapDictionary(), "E1,E2,E3".Split(','), new object[] { 1, 2, 3 }); epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1")); EPAssertionUtil.AssertPropsMap( listener.AssertOneGetNewAndReset().Get("val0").UnwrapDictionary(), "E1".Split(','), new object[] { 1 }); epService.EPRuntime.SendEvent(SupportCollection.MakeString(null)); Assert.IsNull(listener.AssertOneGetNewAndReset().Get("val0")); epService.EPRuntime.SendEvent(SupportCollection.MakeString("")); Assert.AreEqual(0, listener.AssertOneGetNewAndReset().Get("val0").Unwrap <object>().Count); }
public void Run(RegressionEnvironment env) { var eplFragment = "@Name('s0') select Contained.where(x => x = (Contained.firstOf(y -> y.P00 = x.P00 ))) as val from SupportBean_ST0_Container"; env.CompileDeploy(eplFragment).AddListener("s0"); var bean = SupportBean_ST0_Container.Make2Value("E1,2", "E2,1", "E3,3"); env.SendEventBean(bean); var result = env.Listener("s0").AssertOneGetNewAndReset().Get("val").Unwrap<SupportBean_ST0>(); Assert.AreEqual(3, result.Count); // this would be 1 if the cache is invalid env.UndeployAll(); }