public void Run(RegressionEnvironment env) { var fields = "c0".SplitCsv(); var builder = new SupportEvalBuilder("SupportCollection"); builder.WithExpression(fields[0], "Boolvals.where(x => x)"); builder.WithStatementConsumer(stmt => AssertTypesAllSame(stmt.EventType, fields, typeof(ICollection<object>))); builder.WithAssertion(SupportCollection.MakeBoolean("true,true,false")) .Verify("c0", val => AssertValuesArrayScalar(val, true, true)); builder.Run(env); }
private void RunAssertionWhereString(EPServiceProvider epService) { string[] fields = "val0,val1".Split(','); string eplFragment = "select " + "Strvals.where(x => x not like '%1%') as val0, " + "Strvals.where((x, i) => x not like '%1%' and i > 1) as val1 " + "from SupportCollection"; EPStatement stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment); var listener = new SupportUpdateListener(); stmtFragment.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(ICollection <string>), typeof(ICollection <string>) }); epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1,E2,E3")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", "E2", "E3"); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val1", "E3"); listener.Reset(); epService.EPRuntime.SendEvent(SupportCollection.MakeString("E4,E2,E1")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", "E4", "E2"); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val1", new string[0]); listener.Reset(); epService.EPRuntime.SendEvent(SupportCollection.MakeString("")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", new string[0]); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val1", new string[0]); listener.Reset(); stmtFragment.Dispose(); // test boolean eplFragment = "select " + "Boolvals.where(x => x) as val0 " + "from SupportCollection"; stmtFragment = epService.EPAdministrator.CreateEPL(eplFragment); stmtFragment.Events += listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val0".Split(','), new Type[] { typeof(ICollection <bool?>) }); epService.EPRuntime.SendEvent(SupportCollection.MakeBoolean("true,true,false")); LambdaAssertionUtil.AssertValuesArrayScalar(listener, "val0", true, true); listener.Reset(); stmtFragment.Dispose(); }
public void TestWhereString() { String[] fields = "val0,val1".Split(','); String eplFragment = "select " + "Strvals.Where(x => x not like '%1%') as val0, " + "Strvals.Where((x, i) => x not like '%1%' and i > 1) as val1 " + "from SupportCollection"; EPStatement stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment); stmtFragment.Events += _listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, fields, new Type[] { typeof(ICollection <object>), typeof(ICollection <object>) }); _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E1,E2,E3")); LambdaAssertionUtil.AssertValuesArrayScalar(_listener, "val0", "E2", "E3"); LambdaAssertionUtil.AssertValuesArrayScalar(_listener, "val1", "E3"); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportCollection.MakeString("E4,E2,E1")); LambdaAssertionUtil.AssertValuesArrayScalar(_listener, "val0", "E4", "E2"); LambdaAssertionUtil.AssertValuesArrayScalar(_listener, "val1", new String[0]); _listener.Reset(); _epService.EPRuntime.SendEvent(SupportCollection.MakeString("")); LambdaAssertionUtil.AssertValuesArrayScalar(_listener, "val0", new String[0]); LambdaAssertionUtil.AssertValuesArrayScalar(_listener, "val1", new String[0]); _listener.Reset(); stmtFragment.Dispose(); // test boolean eplFragment = "select " + "Boolvals.Where(x => x) as val0 " + "from SupportCollection"; stmtFragment = _epService.EPAdministrator.CreateEPL(eplFragment); stmtFragment.Events += _listener.Update; LambdaAssertionUtil.AssertTypes(stmtFragment.EventType, "val0".Split(','), new Type[] { typeof(ICollection <object>) }); _epService.EPRuntime.SendEvent(SupportCollection.MakeBoolean("true,true,false")); LambdaAssertionUtil.AssertValuesArrayScalar(_listener, "val0", true, true); _listener.Reset(); }