private void RunAssertionPassUnderlying( RegressionEnvironment env, string typename, FunctionSendEventIntString send, RegressionPath path) { var epl = "@Name('s0') select * from " + typename; env.CompileDeploy(epl, path).AddListener("s0"); var fields = "MyInt,MyString".SplitCsv(); Assert.AreEqual(typeof(int?), env.Statement("s0").EventType.GetPropertyType("MyInt").GetBoxedType()); Assert.AreEqual(typeof(string), env.Statement("s0").EventType.GetPropertyType("MyString")); var eventOne = send.Invoke(typename, env, 3, "some string"); var @event = env.Listener("s0").AssertOneGetNewAndReset(); SupportEventTypeAssertionUtil.AssertConsistency(@event); AssertUnderlying(typename, eventOne, @event.Underlying); EPAssertionUtil.AssertProps(@event, fields, new object[] { 3, "some string" }); var eventTwo = send.Invoke(typename, env, 4, "other string"); @event = env.Listener("s0").AssertOneGetNewAndReset(); AssertUnderlying(typename, eventTwo, @event.Underlying); EPAssertionUtil.AssertProps(@event, fields, new object[] { 4, "other string" }); env.UndeployModuleContaining("s0"); }
private void RunAssertionPropertiesWGetter( EPServiceProvider epService, string typename, FunctionSendEventIntString send) { var epl = "select myInt, Exists(myInt) as exists_myInt, myString, Exists(myString) as exists_myString from " + typename; var statement = epService.EPAdministrator.CreateEPL(epl); var listener = new SupportUpdateListener(); statement.Events += listener.Update; var fields = "myInt,exists_myInt,myString,exists_myString".Split(','); Assert.AreEqual(typeof(int?), statement.EventType.GetPropertyType("myInt").GetBoxedType()); Assert.AreEqual(typeof(string), statement.EventType.GetPropertyType("myString")); Assert.AreEqual(typeof(bool?), statement.EventType.GetPropertyType("exists_myInt")); Assert.AreEqual(typeof(bool?), statement.EventType.GetPropertyType("exists_myString")); send.Invoke(epService, 3, "some string"); var @event = listener.AssertOneGetNewAndReset(); RunAssertionEventInvalidProp(@event); EPAssertionUtil.AssertProps(@event, fields, new object[] {3, true, "some string", true}); send.Invoke(epService, 4, "other string"); @event = listener.AssertOneGetNewAndReset(); EPAssertionUtil.AssertProps(@event, fields, new object[] {4, true, "other string", true}); statement.Dispose(); }
private void RunAssertionPropertiesWGetter( RegressionEnvironment env, string typename, FunctionSendEventIntString send, RegressionPath path) { var epl = "@Name('s0') select MyInt, exists(MyInt) as exists_MyInt, MyString, exists(MyString) as exists_MyString from " + typename; env.CompileDeploy(epl, path).AddListener("s0"); var fields = "MyInt,exists_MyInt,MyString,exists_MyString".SplitCsv(); var eventType = env.Statement("s0").EventType; Assert.AreEqual(typeof(int?), Boxing.GetBoxedType(eventType.GetPropertyType("MyInt"))); Assert.AreEqual(typeof(string), eventType.GetPropertyType("MyString")); Assert.AreEqual(typeof(bool?), eventType.GetPropertyType("exists_MyInt")); Assert.AreEqual(typeof(bool?), eventType.GetPropertyType("exists_MyString")); send.Invoke(typename, env, 3, "some string"); var @event = env.Listener("s0").AssertOneGetNewAndReset(); RunAssertionEventInvalidProp(@event); EPAssertionUtil.AssertProps(@event, fields, new object[] { 3, true, "some string", true }); send.Invoke(typename, env, 4, "other string"); @event = env.Listener("s0").AssertOneGetNewAndReset(); EPAssertionUtil.AssertProps(@event, fields, new object[] { 4, true, "other string", true }); env.UndeployModuleContaining("s0"); }
private void RunAssertionPassUnderlying( EPServiceProvider epService, string typename, FunctionSendEventIntString send) { var epl = "select * from " + typename; var statement = epService.EPAdministrator.CreateEPL(epl); var listener = new SupportUpdateListener(); statement.Events += listener.Update; var fields = "myInt,myString".Split(','); Assert.AreEqual(typeof(int?), statement.EventType.GetPropertyType("myInt").GetBoxedType()); Assert.AreEqual(typeof(string), statement.EventType.GetPropertyType("myString")); var eventOne = send.Invoke(epService, 3, "some string"); var @event = listener.AssertOneGetNewAndReset(); SupportEventTypeAssertionUtil.AssertConsistency(@event); Assert.AreEqual(eventOne, @event.Underlying); EPAssertionUtil.AssertProps(@event, fields, new object[] {3, "some string"}); var eventTwo = send.Invoke(epService, 4, "other string"); @event = listener.AssertOneGetNewAndReset(); Assert.AreEqual(eventTwo, @event.Underlying); EPAssertionUtil.AssertProps(@event, fields, new object[] {4, "other string"}); statement.Dispose(); }