private static string GetValue(object obj, SubscriberMap subscriberMap, SubscriberSystem subscriberSystem = null, int group = 0) { var propname = subscriberMap.Field; var val = obj.GetPropValue(propname); if (null == val) { return($"NULL"); } if (subscriberMap.Type == "Date") { DateTime vall = obj.GetPropValue <DateTime>(propname); return($"'{vall:yyyy MMM dd}'"); } else { if (null != subscriberSystem) { val = GetTranslation($"{subscriberMap.Name}.{subscriberMap.Field}", val.ToString(), subscriberSystem, group); } } return($"'{val}'"); }
public void TestVariables() { String[] fields = "myvar".Split(','); SubscriberMap subscriberCreateVariable = new SubscriberMap(); String stmtTextCreate = "create variable string myvar = 'abc'"; EPStatement stmt = _epService.EPAdministrator.CreateEPL(stmtTextCreate); stmt.Subscriber = subscriberCreateVariable; SubscriberMap subscriberSetVariable = new SubscriberMap(); String stmtTextSet = "on SupportBean set myvar = TheString"; stmt = _epService.EPAdministrator.CreateEPL(stmtTextSet); stmt.Subscriber = subscriberSetVariable; _epService.EPRuntime.SendEvent(new SupportBean("def", 1)); EPAssertionUtil.AssertPropsMap(subscriberCreateVariable.GetAndResetIndicate()[0], fields, new Object[] { "def" }); EPAssertionUtil.AssertPropsMap(subscriberSetVariable.GetAndResetIndicate()[0], fields, new Object[] { "def" }); }
private void TryAssertionNamedWindow(EPServiceProvider epService, EventRepresentationChoice eventRepresentationEnum) { var fields = "key,value".Split(','); var subscriberNamedWindow = new SubscriberMap(); var stmtTextCreate = eventRepresentationEnum.GetAnnotationText() + " create window MyWindow#keepall as select TheString as key, IntPrimitive as value from SupportBean"; var stmt = epService.EPAdministrator.CreateEPL(stmtTextCreate); stmt.Subscriber = subscriberNamedWindow; var subscriberInsertInto = new SubscriberFields(); var stmtTextInsertInto = "insert into MyWindow select TheString as key, IntPrimitive as value from SupportBean"; stmt = epService.EPAdministrator.CreateEPL(stmtTextInsertInto); stmt.Subscriber = subscriberInsertInto; epService.EPRuntime.SendEvent(new SupportBean("E1", 1)); EPAssertionUtil.AssertPropsMap(subscriberNamedWindow.GetAndResetIndicate()[0], fields, new object[] { "E1", 1 }); EPAssertionUtil.AssertEqualsExactOrder(new object[][] { new object[] { "E1", 1 } }, subscriberInsertInto.GetAndResetIndicate()); // test on-delete var subscriberDelete = new SubscriberMap(); var stmtTextDelete = "on SupportMarketDataBean s0 delete from MyWindow s1 where s0.symbol = s1.key"; stmt = epService.EPAdministrator.CreateEPL(stmtTextDelete); stmt.Subscriber = subscriberDelete; epService.EPRuntime.SendEvent(new SupportMarketDataBean("E1", 0, 1L, "")); EPAssertionUtil.AssertPropsMap(subscriberDelete.GetAndResetIndicate()[0], fields, new object[] { "E1", 1 }); // test on-select var subscriberSelect = new SubscriberMap(); var stmtTextSelect = "on SupportMarketDataBean s0 select key, value from MyWindow s1"; stmt = epService.EPAdministrator.CreateEPL(stmtTextSelect); stmt.Subscriber = subscriberSelect; epService.EPRuntime.SendEvent(new SupportBean("E2", 2)); epService.EPRuntime.SendEvent(new SupportMarketDataBean("M1", 0, 1L, "")); EPAssertionUtil.AssertPropsMap(subscriberSelect.GetAndResetIndicate()[0], fields, new object[] { "E2", 2 }); epService.EPAdministrator.DestroyAllStatements(); }
private void RunAssertionVariables(EPServiceProvider epService) { var fields = "myvar".Split(','); var subscriberCreateVariable = new SubscriberMap(); var stmtTextCreate = "create variable string myvar = 'abc'"; var stmt = epService.EPAdministrator.CreateEPL(stmtTextCreate); stmt.Subscriber = subscriberCreateVariable; var subscriberSetVariable = new SubscriberMap(); var stmtTextSet = "on SupportBean set myvar = TheString"; stmt = epService.EPAdministrator.CreateEPL(stmtTextSet); stmt.Subscriber = subscriberSetVariable; epService.EPRuntime.SendEvent(new SupportBean("def", 1)); EPAssertionUtil.AssertPropsMap(subscriberCreateVariable.GetAndResetIndicate()[0], fields, new object[] { "def" }); EPAssertionUtil.AssertPropsMap(subscriberSetVariable.GetAndResetIndicate()[0], fields, new object[] { "def" }); stmt.Dispose(); }