private void runAssertMultiRowUnfiltered(String stmtText, String columnName) { EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); // check type assertEquals(Integer.class, stmt.getEventType().getPropertyType(columnName)); // test no event, should return null epService.getEPRuntime().sendEvent(new SupportBean_S0(0)); assertEquals(null, listener.assertOneGetNewAndReset().get(columnName)); // test one event epService.getEPRuntime().sendEvent(new SupportBean_S1(10)); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); assertEquals(10, listener.assertOneGetNewAndReset().get(columnName)); // resend event epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertEquals(10, listener.assertOneGetNewAndReset().get(columnName)); // test second event epService.getEPRuntime().sendEvent(new SupportBean_S1(999)); epService.getEPRuntime().sendEvent(new SupportBean_S0(3)); assertEquals(null, listener.assertOneGetNewAndReset().get(columnName)); }
public void testCustomFunction() { String stmtText = "select (select " + SupportStaticMethodLib.class.getName() + ".minusOne(id) from S1.win:length(1000)) as idS1 from S0"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); // check type assertEquals(Double.class, stmt.getEventType().getPropertyType("idS1")); // test no event, should return null epService.getEPRuntime().sendEvent(new SupportBean_S0(0)); assertEquals(null, listener.assertOneGetNewAndReset().get("idS1")); // test one event epService.getEPRuntime().sendEvent(new SupportBean_S1(10)); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); assertEquals(9d, listener.assertOneGetNewAndReset().get("idS1")); // resend event epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertEquals(9d, listener.assertOneGetNewAndReset().get("idS1")); }
public void testStartStopStatement() { String stmtText = "select id from S0 where (select true from S1.win:length(1000))"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertFalse(listener.isInvoked()); epService.getEPRuntime().sendEvent(new SupportBean_S1(10)); epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertEquals(2, listener.assertOneGetNewAndReset().get("id")); stmt.stop(); epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertFalse(listener.isInvoked()); stmt.start(); epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertFalse(listener.isInvoked()); epService.getEPRuntime().sendEvent(new SupportBean_S1(10)); epService.getEPRuntime().sendEvent(new SupportBean_S0(3)); assertEquals(3, listener.assertOneGetNewAndReset().get("id")); }
public void testEqualsAllArray() { String[] fields = "e,ne".split(","); String stmtText = "select " + "longBoxed = all ({1, 1}, intArr, longCol) as e, " + "longBoxed != all ({1, 1}, intArr, longCol) as ne " + "from ArrayBean"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); SupportBeanArrayCollMap arrayBean = new SupportBeanArrayCollMap(new int[] {1, 1}); arrayBean.setLongCol(Arrays.asList(1L, 1L)); arrayBean.setLongBoxed(1L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {true, false}); arrayBean.setIntArr(new int[] {1, 1, 0}); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, false}); arrayBean.setLongBoxed(2L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, true}); }
private void runAssertion(long timestamp) { String[] fields = "engineURI,statementName".split(","); assertEquals(4, listener.getNewDataList().size()); EventBean[] received = listener.getNewDataListFlattened(); ArrayAssertionUtil.assertProps(received[0], fields, new Object[] {"MyURI", "cpuStmtOne"}); ArrayAssertionUtil.assertProps(received[1], fields, new Object[] {"MyURI", "cpuStmtTwo"}); ArrayAssertionUtil.assertProps(received[2], fields, new Object[] {"MyURI", "wallStmtThree"}); ArrayAssertionUtil.assertProps(received[3], fields, new Object[] {"MyURI", "wallStmtFour"}); long cpuOne = (Long) received[0].get("cpuTime"); long cpuTwo = (Long) received[1].get("cpuTime"); long wallOne = (Long) received[2].get("wallTime"); long wallTwo = (Long) received[3].get("wallTime"); assertTrue("cpuOne=" + cpuOne, cpuOne > cpuGoalOneNano); assertTrue("cpuTwo=" + cpuTwo, cpuTwo > cpuGoalTwoNano); assertTrue("wallOne=" + wallOne, (wallOne + 50) > wallGoalOneMsec); assertTrue("wallTwo=" + wallTwo, (wallTwo + 50) > wallGoalTwoMsec); for (int i = 0; i < 4; i++) { assertEquals(1L, received[i].get("numOutputIStream")); assertEquals(0L, received[i].get("numOutputRStream")); assertEquals(timestamp, received[i].get("timestamp")); } listener.reset(); }
public void testEngineMetrics() { epService = EPServiceProviderManager.getProvider("MyURI", getConfig(10000, -1, true)); epService.initialize(); String[] engineFields = "engineURI,timestamp,inputCount,inputCountDelta,scheduleDepth".split(","); sendTimer(1000); String text = "select * from " + EngineMetric.class.getName(); EPStatement stmt = epService.getEPAdministrator().createEPL(text); stmt.addListener(listener); epService.getEPRuntime().sendEvent(new SupportBean()); sendTimer(10999); assertFalse(listener.isInvoked()); epService.getEPAdministrator().createEPL("select * from pattern[timer:interval(5 sec)]"); sendTimer(11000); EventBean event = listener.assertOneGetNewAndReset(); ArrayAssertionUtil.assertProps(event, engineFields, new Object[] {"MyURI", 11000L, 1L, 1L, 1L}); epService.getEPRuntime().sendEvent(new SupportBean()); epService.getEPRuntime().sendEvent(new SupportBean()); sendTimer(20000); sendTimer(21000); event = listener.assertOneGetNewAndReset(); ArrayAssertionUtil.assertProps(event, engineFields, new Object[] {"MyURI", 21000L, 4L, 3L, 0L}); }
private void runAssertionSingleMethod() { String fields[] = new String[] {"val"}; epService.getEPRuntime().sendEvent(new SupportBean("a", 2)); ArrayAssertionUtil.assertProps(listener.assertOneGetNewAndReset(), fields, new Object[] {8}); listener.reset(); }
private void assertConcat(String c1, String c2, String c3) { EventBean event = testListener.getLastNewData()[0]; assertEquals(c1, event.get("c1")); assertEquals(c2, event.get("c2")); assertEquals(c3, event.get("c3")); testListener.reset(); }
public void testRelationalOpNullOrNoRows() { // test array String[] fields = "vall,vany".split(","); String stmtText = "select " + "intBoxed >= all ({doubleBoxed, longBoxed}) as vall, " + "intBoxed >= any ({doubleBoxed, longBoxed}) as vany " + " from SupportBean(string like 'E%')"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); sendEvent("E3", null, null, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, null}); sendEvent("E4", 1, null, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, null}); sendEvent("E5", null, 1d, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, null}); sendEvent("E6", 1, 1d, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, true}); sendEvent("E7", 0, 1d, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, false}); // test fields stmt.destroy(); fields = "vall,vany".split(","); stmtText = "select " + "intBoxed >= all (doubleBoxed, longBoxed) as vall, " + "intBoxed >= any (doubleBoxed, longBoxed) as vany " + " from SupportBean(string like 'E%')"; stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); sendEvent("E3", null, null, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, null}); sendEvent("E4", 1, null, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, null}); sendEvent("E5", null, 1d, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, null}); sendEvent("E6", 1, 1d, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {null, true}); sendEvent("E7", 0, 1d, null); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, false}); }
public void testEnabledDisableRuntime() { EPStatement[] statements = new EPStatement[5]; Configuration config = getConfig(10000, 10000, true); epService = EPServiceProviderManager.getProvider("MyURI", config); epService.initialize(); sendTimer(1000); statements[0] = epService .getEPAdministrator() .createEPL("select * from " + StatementMetric.class.getName(), "stmtmetric"); statements[0].addListener(listenerStmtMetric); statements[1] = epService .getEPAdministrator() .createEPL("select * from " + EngineMetric.class.getName(), "enginemetric"); statements[1].addListener(listenerEngineMetric); statements[2] = epService .getEPAdministrator() .createEPL( "select * from SupportBean(intPrimitive=1).win:keepall() where MyMetricFunctions.takeCPUTime(longPrimitive)"); sendEvent("E1", 1, cpuGoalOneNano); sendTimer(11000); assertTrue(listenerStmtMetric.getAndClearIsInvoked()); assertTrue(listenerEngineMetric.getAndClearIsInvoked()); epService.getEPAdministrator().getConfiguration().setMetricsReportingDisabled(); sendEvent("E2", 2, cpuGoalOneNano); sendTimer(21000); assertFalse(listenerStmtMetric.getAndClearIsInvoked()); assertFalse(listenerEngineMetric.getAndClearIsInvoked()); sendTimer(31000); sendEvent("E3", 3, cpuGoalOneNano); assertFalse(listenerStmtMetric.getAndClearIsInvoked()); assertFalse(listenerEngineMetric.getAndClearIsInvoked()); epService.getEPAdministrator().getConfiguration().setMetricsReportingEnabled(); sendEvent("E4", 4, cpuGoalOneNano); sendTimer(41000); assertTrue(listenerStmtMetric.getAndClearIsInvoked()); assertTrue(listenerEngineMetric.getAndClearIsInvoked()); statements[2].destroy(); sendTimer(51000); assertTrue(listenerStmtMetric.isInvoked()); // metrics statements reported themselves assertTrue(listenerEngineMetric.isInvoked()); }
public void testJoinUnfiltered() { String stmtText = "select (select id from S3.win:length(1000)) as idS3, (select id from S4.win:length(1000)) as idS4 from S0.win:keepall() as s0, S1.win:keepall() as s1 where s0.id = s1.id"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); // check type assertEquals(Integer.class, stmt.getEventType().getPropertyType("idS3")); assertEquals(Integer.class, stmt.getEventType().getPropertyType("idS4")); // test no event, should return null epService.getEPRuntime().sendEvent(new SupportBean_S0(0)); epService.getEPRuntime().sendEvent(new SupportBean_S1(0)); EventBean event = listener.assertOneGetNewAndReset(); assertEquals(null, event.get("idS3")); assertEquals(null, event.get("idS4")); // send one event epService.getEPRuntime().sendEvent(new SupportBean_S3(-1)); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); epService.getEPRuntime().sendEvent(new SupportBean_S1(1)); event = listener.assertOneGetNewAndReset(); assertEquals(-1, event.get("idS3")); assertEquals(null, event.get("idS4")); // send one event epService.getEPRuntime().sendEvent(new SupportBean_S4(-2)); epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); epService.getEPRuntime().sendEvent(new SupportBean_S1(2)); event = listener.assertOneGetNewAndReset(); assertEquals(-1, event.get("idS3")); assertEquals(-2, event.get("idS4")); // send second event epService.getEPRuntime().sendEvent(new SupportBean_S4(-2)); epService.getEPRuntime().sendEvent(new SupportBean_S0(3)); epService.getEPRuntime().sendEvent(new SupportBean_S1(3)); event = listener.assertOneGetNewAndReset(); assertEquals(-1, event.get("idS3")); assertEquals(null, event.get("idS4")); epService.getEPRuntime().sendEvent(new SupportBean_S3(-2)); epService.getEPRuntime().sendEvent(new SupportBean_S0(3)); epService.getEPRuntime().sendEvent(new SupportBean_S1(3)); EventBean[] events = listener.getNewDataListFlattened(); assertEquals(3, events.length); for (int i = 0; i < events.length; i++) { assertEquals(null, events[i].get("idS3")); assertEquals(null, events[i].get("idS4")); } }
public void testWhereClauseWithExpression() { String stmtText = "select id from S0 where (select p10='X' from S1.win:length(1000))"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); epService.getEPRuntime().sendEvent(new SupportBean_S0(0)); assertFalse(listener.isInvoked()); epService.getEPRuntime().sendEvent(new SupportBean_S1(10, "X")); epService.getEPRuntime().sendEvent(new SupportBean_S0(0)); assertEquals(0, listener.assertOneGetNewAndReset().get("id")); }
private void runCoalesceLong() { sendEvent(1L, 2, (short) 3); assertEquals(1L, testListener.assertOneGetNewAndReset().get("result")); sendBoxedEvent(null, 2, null); assertEquals(2L, testListener.assertOneGetNewAndReset().get("result")); sendBoxedEvent(null, null, Short.parseShort("3")); assertEquals(3L, testListener.assertOneGetNewAndReset().get("result")); sendBoxedEvent(null, null, null); assertEquals(null, testListener.assertOneGetNewAndReset().get("result")); }
public void testRelationalOpAllArray() { String[] fields = "g,ge".split(","); String stmtText = "select " + "longBoxed > all ({1, 2}, intArr, intCol) as g, " + "longBoxed >= all ({1, 2}, intArr, intCol) as ge " + "from ArrayBean"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); SupportBeanArrayCollMap arrayBean = new SupportBeanArrayCollMap(new int[] {1, 2}); arrayBean.setIntCol(Arrays.asList(1, 2)); arrayBean.setLongBoxed(3L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {true, true}); arrayBean.setLongBoxed(2L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, true}); arrayBean = new SupportBeanArrayCollMap(new int[] {1, 3}); arrayBean.setIntCol(Arrays.asList(1, 2)); arrayBean.setLongBoxed(3L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, true}); arrayBean = new SupportBeanArrayCollMap(new int[] {1, 2}); arrayBean.setIntCol(Arrays.asList(1, 3)); arrayBean.setLongBoxed(3L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, true}); // test OM stmt.destroy(); EPStatementObjectModel model = epService.getEPAdministrator().compileEPL(stmtText); assertEquals(stmtText.replace("<>", "!="), model.toEPL()); stmt = epService.getEPAdministrator().create(model); stmt.addListener(listener); arrayBean = new SupportBeanArrayCollMap(new int[] {1, 2}); arrayBean.setIntCol(Arrays.asList(1, 2)); arrayBean.setLongBoxed(3L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {true, true}); }
public void testFilterInside() { String stmtText = "select (select id from S1(p10='A').win:length(1000)) as idS1 from S0"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); epService.getEPRuntime().sendEvent(new SupportBean_S1(1, "X")); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); assertEquals(null, listener.assertOneGetNewAndReset().get("idS1")); epService.getEPRuntime().sendEvent(new SupportBean_S1(1, "A")); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); assertEquals(1, listener.assertOneGetNewAndReset().get("idS1")); }
public void testEqualsAll() { String[] fields = "eq,neq,sqlneq,nneq".split(","); String stmtText = "select " + "intPrimitive = all (1, intBoxed) as eq, " + "intPrimitive != all (1, intBoxed) as neq, " + "intPrimitive <> all (1, intBoxed) as sqlneq, " + "not intPrimitive = all (1, intBoxed) as nneq " + "from SupportBean(string like \"E%\")"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); // in the format intPrimitive, intBoxed int[][] testdata = { {1, 1}, {1, 2}, {2, 2}, {2, 1}, }; Object[][] result = { {true, false, false, false}, // 1, 1 {false, false, false, true}, // 1, 2 {false, false, false, true}, // 2, 2 {false, true, true, true} // 2, 1 }; for (int i = 0; i < testdata.length; i++) { SupportBean bean = new SupportBean("E", testdata[i][0]); bean.setIntBoxed(testdata[i][1]); epService.getEPRuntime().sendEvent(bean); // System.out.println("line " + i); ArrayAssertionUtil.assertProps(listener.assertOneGetNewAndReset(), fields, result[i]); } // test OM stmt.destroy(); EPStatementObjectModel model = epService.getEPAdministrator().compileEPL(stmtText); assertEquals(stmtText.replace("<>", "!="), model.toEPL()); stmt = epService.getEPAdministrator().create(model); stmt.addListener(listener); for (int i = 0; i < testdata.length; i++) { SupportBean bean = new SupportBean("E", testdata[i][0]); bean.setIntBoxed(testdata[i][1]); epService.getEPRuntime().sendEvent(bean); // System.out.println("line " + i); ArrayAssertionUtil.assertProps(listener.assertOneGetNewAndReset(), fields, result[i]); } }
public void testSelfSubselect() { String stmtTextOne = "insert into MyCount select count(*) as cnt from S0"; epService.getEPAdministrator().createEPL(stmtTextOne); String stmtTextTwo = "select (select cnt from MyCount.std:lastevent()) as value from S0"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtTextTwo); stmt.addListener(listener); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); assertEquals(null, listener.assertOneGetNewAndReset().get("value")); epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertEquals(1L, listener.assertOneGetNewAndReset().get("value")); }
private void runMinMaxWindowStats() { sendEvent(10, 20, (short) 4); EventBean received = testListener.getAndResetLastNewData()[0]; assertEquals(20L, received.get("myMax")); assertEquals(10L, received.get("myMin")); assertEquals(4L, received.get("myMinEx")); assertEquals(20L, received.get("myMaxEx")); sendEvent(-10, -20, (short) -30); received = testListener.getAndResetLastNewData()[0]; assertEquals(-10L, received.get("myMax")); assertEquals(-20L, received.get("myMin")); assertEquals(-30L, received.get("myMinEx")); assertEquals(-10L, received.get("myMaxEx")); }
private void tryCoalesceBeans(String viewExpr) { epService.initialize(); selectTestView = epService.getEPAdministrator().createEPL(viewExpr); selectTestView.addListener(testListener); SupportBean event = sendEvent("s0"); EventBean eventReceived = testListener.assertOneGetNewAndReset(); assertEquals("s0", eventReceived.get("myString")); assertSame(event, eventReceived.get("myBean")); event = sendEvent("s1"); eventReceived = testListener.assertOneGetNewAndReset(); assertEquals("s1", eventReceived.get("myString")); assertSame(event, eventReceived.get("myBean")); }
public void testCoalesceLong() { setupCoalesce("coalesce(longBoxed, intBoxed, shortBoxed)"); assertEquals(Long.class, selectTestView.getEventType().getPropertyType("result")); sendEvent(1L, 2, (short) 3); assertEquals(1L, testListener.assertOneGetNewAndReset().get("result")); sendBoxedEvent(null, 2, null); assertEquals(2L, testListener.assertOneGetNewAndReset().get("result")); sendBoxedEvent(null, null, Short.parseShort("3")); assertEquals(3L, testListener.assertOneGetNewAndReset().get("result")); sendBoxedEvent(null, null, null); assertEquals(null, testListener.assertOneGetNewAndReset().get("result")); }
public void testRelationalOpAny() { String[] fields = "g,ge,l,le".split(","); String stmtText = "select " + "intPrimitive > any (1, 3, 4) as g, " + "intPrimitive >= some (1, 3, 4) as ge, " + "intPrimitive < any (1, 3, 4) as l, " + "intPrimitive <= some (1, 3, 4) as le " + " from SupportBean(string like 'E%')"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); Object[][] result = { {false, false, true, true}, {false, true, true, true}, {true, true, true, true}, {true, true, true, true}, {true, true, false, true}, {true, true, false, false} }; for (int i = 0; i < 6; i++) { epService.getEPRuntime().sendEvent(new SupportBean("E1", i)); // System.out.println("line " + i); ArrayAssertionUtil.assertProps(listener.assertOneGetNewAndReset(), fields, result[i]); } }
public void testCoalesceDouble() { setupCoalesce( "coalesce(null, byteBoxed, shortBoxed, intBoxed, longBoxed, floatBoxed, doubleBoxed)"); assertEquals(Double.class, selectTestView.getEventType().getPropertyType("result")); sendEventWithDouble(null, null, null, null, null, null); assertEquals(null, testListener.assertOneGetNewAndReset().get("result")); sendEventWithDouble(null, Short.parseShort("2"), null, null, null, 1d); assertEquals(2d, testListener.assertOneGetNewAndReset().get("result")); sendEventWithDouble(null, null, null, null, null, 100d); assertEquals(100d, testListener.assertOneGetNewAndReset().get("result")); sendEventWithDouble(null, null, null, null, 10f, 100d); assertEquals(10d, testListener.assertOneGetNewAndReset().get("result")); sendEventWithDouble(null, null, 1, 5l, 10f, 100d); assertEquals(1d, testListener.assertOneGetNewAndReset().get("result")); sendEventWithDouble(Byte.parseByte("3"), null, null, null, null, null); assertEquals(3d, testListener.assertOneGetNewAndReset().get("result")); sendEventWithDouble(null, null, null, 5l, 10f, 100d); assertEquals(5d, testListener.assertOneGetNewAndReset().get("result")); }
public void testOperators() { String viewExpr = "select longBoxed % intBoxed as myMod " + " from " + SupportBean.class.getName() + ".win:length(3) where not(longBoxed > intBoxed)"; selectTestView = epService.getEPAdministrator().createEPL(viewExpr); selectTestView.addListener(testListener); sendEvent(1, 1, (short) 0); assertEquals(0l, testListener.getLastNewData()[0].get("myMod")); testListener.reset(); sendEvent(2, 1, (short) 0); assertFalse(testListener.getAndClearIsInvoked()); sendEvent(2, 3, (short) 0); assertEquals(2l, testListener.getLastNewData()[0].get("myMod")); testListener.reset(); }
public void testUnfilteredExpression() { String stmtText = "select (select p10 || p11 from S1.std:lastevent()) as value from S0"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); // check type assertEquals(String.class, stmt.getEventType().getPropertyType("value")); // test no event, should return null epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); EventBean event = listener.assertOneGetNewAndReset(); assertEquals(null, event.get("value")); // test one event epService.getEPRuntime().sendEvent(new SupportBean_S1(-1, "a", "b")); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); event = listener.assertOneGetNewAndReset(); assertEquals("ab", event.get("value")); }
public void testComputedResult() { String stmtText = "select 100*(select id from S1.win:length(1000)) as idS1 from S0"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); // check type assertEquals(Integer.class, stmt.getEventType().getPropertyType("idS1")); // test no event, should return null epService.getEPRuntime().sendEvent(new SupportBean_S0(0)); assertEquals(null, listener.assertOneGetNewAndReset().get("idS1")); // test one event epService.getEPRuntime().sendEvent(new SupportBean_S1(10)); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); assertEquals(1000, listener.assertOneGetNewAndReset().get("idS1")); // resend event epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertEquals(1000, listener.assertOneGetNewAndReset().get("idS1")); }
public void testMultiColumnSelect() { String stmtText = "select (select id+1 as myId from S1.std:lastevent()) as idS1_0, " + "(select id+2 as myId from S1.std:lastevent()) as idS1_1 from S0"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); // check type assertEquals(Integer.class, stmt.getEventType().getPropertyType("idS1_0")); assertEquals(Integer.class, stmt.getEventType().getPropertyType("idS1_1")); // test no event, should return null epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); EventBean event = listener.assertOneGetNewAndReset(); assertEquals(null, event.get("idS1_0")); assertEquals(null, event.get("idS1_1")); // test one event epService.getEPRuntime().sendEvent(new SupportBean_S1(10)); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); event = listener.assertOneGetNewAndReset(); assertEquals(11, event.get("idS1_0")); assertEquals(12, event.get("idS1_1")); // resend event epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); event = listener.assertOneGetNewAndReset(); assertEquals(11, event.get("idS1_0")); assertEquals(12, event.get("idS1_1")); // test second event epService.getEPRuntime().sendEvent(new SupportBean_S1(999)); epService.getEPRuntime().sendEvent(new SupportBean_S0(3)); event = listener.assertOneGetNewAndReset(); assertEquals(1000, event.get("idS1_0")); assertEquals(1001, event.get("idS1_1")); }
public void testPropertyOrSingleRowMethod() throws Exception { epService .getEPAdministrator() .getConfiguration() .addEventType("SupportBean", SupportBean.class); String text = "select surroundx('test') as val from SupportBean"; EPStatement stmt = epService.getEPAdministrator().createEPL(text); stmt.addListener(listener); String fields[] = new String[] {"val"}; epService.getEPRuntime().sendEvent(new SupportBean("a", 3)); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {"XtestX"}); }
private void runUnfilteredStreamPrior(EPStatement stmt) { stmt.addListener(listener); // check type assertEquals(Integer.class, stmt.getEventType().getPropertyType("idS1")); // test no event, should return null epService.getEPRuntime().sendEvent(new SupportBean_S0(0)); assertEquals(null, listener.assertOneGetNewAndReset().get("idS1")); // test one event epService.getEPRuntime().sendEvent(new SupportBean_S1(10)); epService.getEPRuntime().sendEvent(new SupportBean_S0(1)); assertEquals(10, listener.assertOneGetNewAndReset().get("idS1")); // resend event epService.getEPRuntime().sendEvent(new SupportBean_S0(2)); assertEquals(10, listener.assertOneGetNewAndReset().get("idS1")); // test second event epService.getEPRuntime().sendEvent(new SupportBean_S0(3)); assertEquals(10, listener.assertOneGetNewAndReset().get("idS1")); }
public void testRelationalOpAnyArray() { String[] fields = "g,ge".split(","); String stmtText = "select " + "longBoxed > any ({1, 2}, intArr, intCol) as g, " + "longBoxed >= any ({1, 2}, intArr, intCol) as ge " + "from ArrayBean"; EPStatement stmt = epService.getEPAdministrator().createEPL(stmtText); stmt.addListener(listener); SupportBeanArrayCollMap arrayBean = new SupportBeanArrayCollMap(new int[] {1, 2}); arrayBean.setIntCol(Arrays.asList(1, 2)); arrayBean.setLongBoxed(1L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, true}); arrayBean.setLongBoxed(2L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {true, true}); arrayBean = new SupportBeanArrayCollMap(new int[] {2, 2}); arrayBean.setIntCol(Arrays.asList(2, 1)); arrayBean.setLongBoxed(1L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, true}); arrayBean = new SupportBeanArrayCollMap(new int[] {1, 1}); arrayBean.setIntCol(Arrays.asList(1, 1)); arrayBean.setLongBoxed(0L); epService.getEPRuntime().sendEvent(arrayBean); ArrayAssertionUtil.assertProps( listener.assertOneGetNewAndReset(), fields, new Object[] {false, false}); }
public void testMinMaxWindowStats_Compile() throws Exception { String viewExpr = "select max(longBoxed, intBoxed) as myMax, " + "max(longBoxed, intBoxed, shortBoxed) as myMaxEx, " + "min(longBoxed, intBoxed) as myMin, " + "min(longBoxed, intBoxed, shortBoxed) as myMinEx" + " from " + SupportBean.class.getName() + ".win:length(3)"; EPStatementObjectModel model = epService.getEPAdministrator().compileEPL(viewExpr); model = (EPStatementObjectModel) SerializableObjectCopier.copy(model); assertEquals(viewExpr, model.toEPL()); selectTestView = epService.getEPAdministrator().create(model); selectTestView.addListener(testListener); testListener.reset(); runMinMaxWindowStats(); }