private void RunAssertionOp(EPServiceProvider epService) { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every (every b=" + EVENT_B_CLASS + "))"); testCase.Add("B1", "b", events.GetEvent("B1")); for (int i = 0; i < 3; i++) { testCase.Add("B2", "b", events.GetEvent("B2")); } for (int i = 0; i < 9; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every b=" + EVENT_B_CLASS + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); for (int i = 0; i < 4; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("Every( every (every (every b=" + EVENT_B_CLASS + "())))"); testCase.Add("B1", "b", events.GetEvent("B1")); for (int i = 0; i < 4; i++) { testCase.Add("B2", "b", events.GetEvent("B2")); } for (int i = 0; i < 16; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, this.GetType()); util.RunTest(epService); }
public void TestOp() { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase = null; testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every (every b=" + EVENT_B_CLASS + "))"); testCase.Add("B1", "b", events.GetEvent("B1")); for (var i = 0; i < 3; i++) { testCase.Add("B2", "b", events.GetEvent("B2")); } for (var i = 0; i < 9; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every b=" + EVENT_B_CLASS + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); for (var i = 0; i < 4; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every (every (every b=" + EVENT_B_CLASS + "())))"); testCase.Add("B1", "b", events.GetEvent("B1")); for (var i = 0; i < 4; i++) { testCase.Add("B2", "b", events.GetEvent("B2")); } for (var i = 0; i < 16; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("every b=SupportBean_B"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every (every b=SupportBean_B))"); testCase.Add("B1", "b", events.GetEvent("B1")); for (var i = 0; i < 3; i++) { testCase.Add("B2", "b", events.GetEvent("B2")); } for (var i = 0; i < 9; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every b=SupportBean_B())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); for (var i = 0; i < 4; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every (every (every b=SupportBean_B())))"); testCase.Add("B1", "b", events.GetEvent("B1")); for (var i = 0; i < 4; i++) { testCase.Add("B2", "b", events.GetEvent("B2")); } for (var i = 0; i < 16; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void TestOp() { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); var testCase = new EventExpressionCase("a=A -> (every b=B) while(b.Id != 'B2')"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=A -> (every b=B) while(b.Id != 'B3')"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=B) while(b.Id != 'B3')"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); String text = "select * from pattern [(every b=" + EVENT_B_CLASS + ") while (b.Id!=\"B3\")]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Expression guardExpr = Expressions.Neq("b.Id", "B3"); PatternExpr every = Patterns.Every(Patterns.Filter(Filter.Create(EVENT_B_CLASS), "b")); PatternExpr patternGuarded = Patterns.WhileGuard(every, guardExpr); model.FromClause = FromClause.Create(PatternStream.Create(patternGuarded)); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=B) while(b.Id != 'B1')"); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase = null; testCase = new EventExpressionCase("a=SupportBean_A -> (every b=SupportBean_B) while(b.Id != 'B2')"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=SupportBean_A -> (every b=SupportBean_B) while(b.Id != 'B3')"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) while(b.Id != 'B3')"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); var text = "select * from pattern [(every b=SupportBean_B) while (b.Id!=\"B3\")]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); model = env.CopyMayFail(model); Expression guardExpr = Expressions.Neq("b.Id", "B3"); PatternExpr every = Patterns.Every(Patterns.Filter(Filter.Create("SupportBean_B"), "b")); PatternExpr patternGuarded = Patterns.WhileGuard(every, guardExpr); model.FromClause = FromClause.Create(PatternStream.Create(patternGuarded)); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) while(b.Id != 'B1')"); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; // The wait is done when 2 seconds passed testCase = new EventExpressionCase("timer:interval(1999 msec)"); testCase.Add("B1"); testCaseList.AddTest(testCase); var text = "select * from pattern [timer:interval(1.999d)]"; var model = new EPStatementObjectModel(); model.SetSelect(SelectClause.CreateWildcard()); PatternExpr pattern = Patterns.TimerInterval(1.999d); model.SetFrom(FromClause.Create(PatternStream.Create(pattern))); model = env.CopyMayFail(model); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(2 sec)"); testCase.Add("B1"); testCaseList.AddTest(testCase); // 3 seconds (>2001 microseconds) passed testCase = new EventExpressionCase("timer:interval(2.001)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(2999 milliseconds)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3 seconds)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3.001 seconds)"); testCase.Add("B2"); testCaseList.AddTest(testCase); // Try with an all ... repeated timer every 3 seconds testCase = new EventExpressionCase("every timer:interval(3.001 sec)"); testCase.Add("B2"); testCase.Add("F1"); testCase.Add("D3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:interval(5000 msec)"); testCase.Add("A2"); testCase.Add("B3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3.999 second) -> b=SupportBean_B"); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(4 sec) -> b=SupportBean_B"); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(4.001 sec) -> b=SupportBean_B"); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(0) -> b=SupportBean_B"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); // Try with an followed-by as a second argument testCase = new EventExpressionCase("b=SupportBean_B -> timer:interval(0.001)"); testCase.Add("C1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -> timer:interval(0)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -> timer:interval(1 sec)"); testCase.Add("C1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -> timer:interval(1.001)"); testCase.Add("B2", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); // Try in a 3-way followed by testCase = new EventExpressionCase("b=SupportBean_B() -> timer:interval(6.000) -> d=SupportBean_D"); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=SupportBean_B() -> timer:interval(2.001) -> d=SupportBean_D())"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=SupportBean_B() -> timer:interval(2.000) -> d=SupportBean_D())"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); // Try with an "or" testCase = new EventExpressionCase("b=SupportBean_B() or timer:interval(1.001)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B() or timer:interval(2.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B3') or timer:interval(8.500)"); testCase.Add("D2"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(8.500) or timer:interval(7.500)"); testCase.Add("F1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(999999 msec) or g=SupportBean_G"); testCase.Add("G1", "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); // Try with an "and" testCase = new EventExpressionCase("b=SupportBean_B() and timer:interval(4000 msec)"); testCase.Add("B2", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B() and timer:interval(4001 msec)"); testCase.Add("A2", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(9999999 msec) and b=SupportBean_B"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(1 msec) and b=SupportBean_B(Id='B2')"); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); // Try with an "within" testCase = new EventExpressionCase("timer:interval(3.000) where timer:within(2.000)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3.000) where timer:within (3.000)"); testCaseList.AddTest(testCase); // Run all tests var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void TestOp() { var dateTime = MakeDateTime(2005, 3, 9, 8, 0, 0, 0); var startTime = dateTime.TimeInMillis(); // Start a 2004-12-09 8:00:00am and send events every 10 minutes // "A1" 8:10 // "B1" 8:20 // "C1" 8:30 // "B2" 8:40 // "A2" 8:50 // "D1" 9:00 // "E1" 9:10 // "F1" 9:20 // "D2" 9:30 // "B3" 9:40 // "G1" 9:50 // "D3" 10:00 var testData = EventCollectionFactory.GetEventSetOne(startTime, 1000 * 60 * 10); var testCaseList = new CaseList(); EventExpressionCase testCase = null; testCase = new EventExpressionCase("timer:at(10, 8, *, *, *)"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(10, 8, *, *, *, 1)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(5, 8, *, *, *)"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(10, 8, *, *, *, *)"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(25, 9, *, *, *)"); testCase.Add("D2"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(11, 8, *, *, *)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(19, 8, *, *, *, 59)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 5, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(*, *, *, *, *, * / 10)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(20, 8, *, *, *, 20)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(*, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(*, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 9, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 10, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 30, *, *, *, *)"); testCase.Add("C1"); testCase.Add("D1"); testCase.Add("D2"); testCase.Add("D3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(10, 9, *, *, *, 10) or timer:at(30, 9, *, *, *, *)"); testCase.Add("F1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(id='B3') -> timer:at(20, 9, *, *, *, *)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(id='B3') -> timer:at(45, 9, *, *, *, *)"); testCase.Add("G1", "b", testData.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(59, 8, *, *, *, 59) -> d=" + EVENT_D_CLASS); testCase.Add("D1", "d", testData.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(*, 9, *, *, *, 59) -> d=" + EVENT_D_CLASS); testCase.Add("D2", "d", testData.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(22, 8, *, *, *) -> b=" + EVENT_B_CLASS + "(id='B3') -> timer:at(55, *, *, *, *)"); testCase.Add("D3", "b", testData.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(40, *, *, *, *, 1) and b=" + EVENT_B_CLASS); testCase.Add("A2", "b", testData.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(40, 9, *, *, *, 1) or d=" + EVENT_D_CLASS + "(id=\"D3\")"); testCase.Add("G1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(22, 8, *, *, *) -> b=" + EVENT_B_CLASS + "() -> timer:at(55, 8, *, *, *)"); testCase.Add("D1", "b", testData.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(22, 8, *, *, *, 1) where timer:within(1 second)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(22, 8, *, *, *, 1) where timer:within(31 minutes)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(*, 9, *, *, *) and timer:at(55, *, *, *, *)"); testCase.Add("D1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(40, 8, *, *, *, 1) and b=" + EVENT_B_CLASS); testCase.Add("A2", "b", testData.GetEvent("B1")); testCaseList.AddTest(testCase); const string text = "select * from pattern [timer:at(10,8,*,*,*,*)]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); var pattern = Patterns.TimerAt(10, 8, null, null, null, null); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("A1"); testCaseList.AddTest(testCase); // As of release 1.6 this no longer updates listeners when the statement is started. // The reason is that the dispatch view only gets attached after a pattern started, // therefore ZeroDepthEventStream looses the event. There should be no use case requiring this: // // testCase = new EventExpressionCase("not timer:at(22, 8, *, *, *, 1)"); // testCase.Add(EventCollection.ON_START_EVENT_ID); // testCaseList.AddTest(testCase); // Run all tests var util = new PatternTestHarness(testData, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); var testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> (d=" + EVENT_D_CLASS + " or not d=" + EVENT_D_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -[1000]> (d=" + EVENT_D_CLASS + " or not d=" + EVENT_D_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -[1000]> not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -[10]> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -> b=" + EVENT_B_CLASS + " -> a_2=" + EVENT_A_CLASS + ")"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("c=" + EVENT_C_CLASS + "() -> d=" + EVENT_D_CLASS + " -> a=" + EVENT_A_CLASS); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -> b=" + EVENT_B_CLASS + "() -> a_2=" + EVENT_A_CLASS + "())"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -[10]> b=" + EVENT_B_CLASS + "() -[10]> a_2=" + EVENT_A_CLASS + "())"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ( every a=" + EVENT_A_CLASS + " -> every b=" + EVENT_B_CLASS + ")"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a=" + EVENT_A_CLASS + "() -> every b=" + EVENT_B_CLASS + "())"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase( "(b=SupportBean_B -> d=SupportBean_D) " + " and " + "(a=SupportBean_A -> e=SupportBean_E)" ); testCase.Add( "E1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1"), "e", events.GetEvent("E1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -> (d=SupportBean_D() or a=SupportBean_A)"); testCase.Add("A2", "b", events.GetEvent("B1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.FollowedBy( Patterns.Filter("SupportBean_B", "b"), Patterns.Or(Patterns.Filter("SupportBean_D", "d"), Patterns.Filter("SupportBean_A", "a"))); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = env.CopyMayFail(model); var text = "select * from pattern [b=SupportBean_B -> d=SupportBean_D or a=SupportBean_A]"; Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("A2", "b", events.GetEvent("B1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() -> (" + "(d=SupportBean_D() -> a=SupportBean_A())" + " or " + "(a=SupportBean_A() -> e=SupportBean_E()))" ); testCase.Add("E1", "b", events.GetEvent("B1"), "a", events.GetEvent("A2"), "e", events.GetEvent("E1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B() and d=SupportBean_D or a=SupportBean_A"); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=SupportBean_B() -> d=SupportBean_D()) or a=SupportBean_A"); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "(b=SupportBean_B() and " + "d=SupportBean_D()) or " + "a=SupportBean_A"); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void TestOp() { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); var testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B1\") where timer:withinmax(2 sec,100)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B1\") where timer:withinmax(2001 msec,1)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B1\") where timer:withinmax(1999 msec,10)"); testCaseList.AddTest(testCase); var text = "select * from pattern [b=" + EVENT_B_CLASS + "(Id=\"B3\") where timer:withinmax(10.001,1)]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); var filter = Expressions.Eq("Id", "B3"); var pattern = Patterns.TimerWithinMax(10.001, 1, Patterns.Filter(Filter.Create(EVENT_B_CLASS, filter), "b")); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:withinmax(4.001, 0)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:withinmax(4.001, 1)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:withinmax(4.001, 2)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " where timer:withinmax(2.001, 4)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); // Note how every restarts the max testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " where timer:withinmax(2001 msec, 2))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " where timer:withinmax(2001 msec, 3))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " where timer:withinmax(2001 msec, 1))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " where timer:withinmax(2001 msec, 0))"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + " where timer:withinmax(4000 msec, 1)"); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + "() -> every d=" + EVENT_D_CLASS + " where timer:withinmax(4000 msec, 1)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + "() -> (every d=" + EVENT_D_CLASS + ") where timer:withinmax(1 day, 3)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + "() -> (every d=" + EVENT_D_CLASS + ") where timer:withinmax(1 day, 2)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + "() -> (every d=" + EVENT_D_CLASS + ") where timer:withinmax(1 day, 1)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); CaseList testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every(b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); EPStatementObjectModel model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.Every(Patterns.And(Patterns.Filter(EVENT_B_CLASS, "b"), Patterns.Filter(EVENT_D_CLASS, "d"))); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Assert.AreEqual("select * from pattern [every (b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS + ")]", model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + EVENT_A_CLASS + " and d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); for (int i = 0; i < 3; i++) { testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); } testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); for (int i = 0; i < 5; i++) { testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=" + EVENT_A_CLASS + " and d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + EVENT_A_CLASS + " and every d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("B1", "b", events.GetEvent("B1"), "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + EVENT_A_CLASS + " and every d=" + EVENT_D_CLASS + " and every b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a=" + EVENT_A_CLASS + " and every d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " and b=" + EVENT_B_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2"), "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=SupportBean_B(Id='B1') where timer:withinmax(2 sec,100)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B1') where timer:withinmax(2001 msec,1)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B1') where timer:withinmax(1999 msec,10)"); testCaseList.AddTest(testCase); var text = "select * from pattern [b=SupportBean_B(Id='B3') where timer:withinmax(10.001d,1)]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); model = env.CopyMayFail(model); Expression filter = Expressions.Eq("Id", "B3"); PatternExpr pattern = Patterns.TimerWithinMax( 10.001, 1, Patterns.Filter(Filter.Create("SupportBean_B", filter), "b")); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); Assert.AreEqual(text, model.ToEPL().Replace("\"", "'")); testCase = new EventExpressionCase(model); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) where timer:withinmax(4.001, 0)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) where timer:withinmax(4.001, 1)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) where timer:withinmax(4.001, 2)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B where timer:withinmax(2.001, 4)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); // Note how every restarts the max testCase = new EventExpressionCase("every (b=SupportBean_B where timer:withinmax(2001 msec, 2))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B where timer:withinmax(2001 msec, 3))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B where timer:withinmax(2001 msec, 1))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B where timer:withinmax(2001 msec, 0))"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B -> d=SupportBean_D where timer:withinmax(4000 msec, 1)"); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B() -> every d=SupportBean_D where timer:withinmax(4000 msec, 1)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B() -> (every d=SupportBean_D) where timer:withinmax(1 day, 3)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B() -> (every d=SupportBean_D) where timer:withinmax(1 day, 2)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B() -> (every d=SupportBean_D) where timer:withinmax(1 day, 1)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase = null; testCase = new EventExpressionCase("b=SupportBean_B(Id='B1') where timer:within(2 sec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B1') where timer:within(2001 msec)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B1') where timer:within(1999 msec)"); testCaseList.AddTest(testCase); var text = "select * from pattern [b=SupportBean_B(Id=\"B3\") where timer:within(10.001d)]"; var model = new EPStatementObjectModel(); model.SetSelect(SelectClause.CreateWildcard()); model = env.CopyMayFail(model); Expression filter = Expressions.Eq("Id", "B3"); PatternExpr pattern = Patterns.TimerWithin( 10.001, Patterns.Filter(Filter.Create("SupportBean_B", filter), "b")); model.SetFrom(FromClause.Create(PatternStream.Create(pattern))); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B3') where timer:within(10001 msec)"); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B3') where timer:within(10 sec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B3') where timer:within(9.999)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) where timer:within(2.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) where timer:within(4.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B where timer:within(2.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B where timer:within(2001 msec))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ((every b=SupportBean_B) where timer:within(2.001))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ((every b=SupportBean_B) where timer:within(6.001))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) where timer:within(11.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=SupportBean_B) where timer:within(4001 milliseconds)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B) where timer:within(6.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B -> d=SupportBean_D where timer:within(4001 milliseconds)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B() -> d=SupportBean_D() where timer:within(4 sec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=SupportBean_B() where timer:within (4.001) and d=SupportBean_D() where timer:within(6.001))"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() where timer:within (2001 msec) and d=SupportBean_D() where timer:within(6001 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() where timer:within (2001 msec) and d=SupportBean_D() where timer:within(6000 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() where timer:within (2000 msec) and d=SupportBean_D() where timer:within(6001 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B -> d=SupportBean_D where timer:within(4000 msec)"); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B() -> every d=SupportBean_D where timer:within(4000 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() -> d=SupportBean_D() where timer:within(3999 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B() -> (every d=SupportBean_D) where timer:within(2001 msec)"); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=SupportBean_B() -> d=SupportBean_D()) where timer:within(6001 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() where timer:within (2000 msec) or d=SupportBean_D() where timer:within(6000 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "(b=SupportBean_B() where timer:within (2000 msec) or d=SupportBean_D() where timer:within(6000 msec)) where timer:within (1999 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=SupportBean_B() where timer:within (2001 msec) and d=SupportBean_D() where timer:within(6001 msec))"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() where timer:within (2001 msec) or d=SupportBean_D() where timer:within(6001 msec)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "b=SupportBean_B() where timer:within (2000 msec) or d=SupportBean_D() where timer:within(6001 msec)"); testCase.Add("D1", "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=SupportBean_B() where timer:within (2001 msec) and every d=SupportBean_D() where timer:within(6001 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "(every b=SupportBean_B) where timer:within (2000 msec) and every d=SupportBean_D() where timer:within(6001 msec)"); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void Run(RegressionEnvironment env) { var dateTimeEx = DateTimeEx.GetInstance(TimeZoneInfo.Utc); dateTimeEx.Set(2005, 3, 9, 8); dateTimeEx.SetMillis(0); var startTime = dateTimeEx.UtcMillis; // Start a 2004-12-9 8:00:00am and send events every 10 minutes // "A1" 8:10 // "B1" 8:20 // "C1" 8:30 // "B2" 8:40 // "A2" 8:50 // "D1" 9:00 // "E1" 9:10 // "F1" 9:20 // "D2" 9:30 // "B3" 9:40 // "G1" 9:50 // "D3" 10:00 var testData = EventCollectionFactory.GetEventSetOne(startTime, 1000 * 60 * 10); var testCaseList = new CaseList(); EventExpressionCase testCase = null; testCase = new EventExpressionCase("timer:at(10, 8, *, *, *)"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(10, 8, *, *, *, 1)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(5, 8, *, *, *)"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(10, 8, *, *, *, *)"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(25, 9, *, *, *)"); testCase.Add("D2"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(11, 8, *, *, *)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(19, 8, *, *, *, 59)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 5, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(*, *, *, *, *, * / 10)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(20, 8, *, *, *, 20)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(*, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(*, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 9, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 10, *, *, *, *, *)"); AddAll(testCase); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:at(* / 30, *, *, *, *)"); testCase.Add("C1"); testCase.Add("D1"); testCase.Add("D2"); testCase.Add("D3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(10, 9, *, *, *, 10) or timer:at(30, 9, *, *, *, *)"); testCase.Add("F1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B3') -> timer:at(20, 9, *, *, *, *)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B(Id='B3') -> timer:at(45, 9, *, *, *, *)"); testCase.Add("G1", "b", testData.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(59, 8, *, *, *, 59) -> d=SupportBean_D"); testCase.Add("D1", "d", testData.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(*, 9, *, *, *, 59) -> d=SupportBean_D"); testCase.Add("D2", "d", testData.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "timer:at(22, 8, *, *, *) -> b=SupportBean_B(Id='B3') -> timer:at(55, *, *, *, *)"); testCase.Add("D3", "b", testData.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(40, *, *, *, *, 1) and b=SupportBean_B"); testCase.Add("A2", "b", testData.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(40, 9, *, *, *, 1) or d=SupportBean_D(Id='D3')"); testCase.Add("G1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "timer:at(22, 8, *, *, *) -> b=SupportBean_B() -> timer:at(55, 8, *, *, *)"); testCase.Add("D1", "b", testData.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(22, 8, *, *, *, 1) where timer:within(1 second)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(22, 8, *, *, *, 1) where timer:within(31 minutes)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(*, 9, *, *, *) and timer:at(55, *, *, *, *)"); testCase.Add("D1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:at(40, 8, *, *, *, 1) and b=SupportBean_B"); testCase.Add("A2", "b", testData.GetEvent("B1")); testCaseList.AddTest(testCase); var text = "select * from pattern [timer:at(10,8,*,*,*,*)]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.TimerAt(10, 8, null, null, null, null); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = env.CopyMayFail(model); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("A1"); testCaseList.AddTest(testCase); // Run all tests var util = new PatternTestHarness(testData, testCaseList, GetType()); util.RunTest(env); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); CaseList testCaseList = new CaseList(); EventExpressionCase testCase = null; testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B1\") where timer:within(2 sec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B1\") where timer:within(2001 msec)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B1\") where timer:within(1999 msec)"); testCaseList.AddTest(testCase); String text = "select * from pattern [b=" + EVENT_B_CLASS + "(Id=\"B3\") where timer:within(10.001)]"; EPStatementObjectModel model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Expression filter = Expressions.Eq("Id", "B3"); PatternExpr pattern = Patterns.TimerWithin(10.001, Patterns.Filter(Filter.Create(EVENT_B_CLASS, filter), "b")); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B3\") where timer:within(10001 msec)"); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B3\") where timer:within(10 sec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id=\"B3\") where timer:within(9.999)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:within(2.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:within(4.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " where timer:within(2.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " where timer:within(2001 msec))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ((every b=" + EVENT_B_CLASS + ") where timer:within(2.001))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ((every b=" + EVENT_B_CLASS + ") where timer:within(6.001))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:within(11.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:within(4001 milliseconds)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + ") where timer:within(6.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + " where timer:within(4001 milliseconds)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() -> d=" + EVENT_D_CLASS + "() where timer:within(4 sec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + "() where timer:within (4.001) and d=" + EVENT_D_CLASS + "() where timer:within(6.001))"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() where timer:within (2001 msec) and d=" + EVENT_D_CLASS + "() where timer:within(6001 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() where timer:within (2001 msec) and d=" + EVENT_D_CLASS + "() where timer:within(6000 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() where timer:within (2000 msec) and d=" + EVENT_D_CLASS + "() where timer:within(6001 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + " where timer:within(4000 msec)"); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + "() -> every d=" + EVENT_D_CLASS + " where timer:within(4000 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() -> d=" + EVENT_D_CLASS + "() where timer:within(3999 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + "() -> (every d=" + EVENT_D_CLASS + ") where timer:within(2001 msec)"); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + "() -> d=" + EVENT_D_CLASS + "()) where timer:within(6001 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() where timer:within (2000 msec) or d=" + EVENT_D_CLASS + "() where timer:within(6000 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + "() where timer:within (2000 msec) or d=" + EVENT_D_CLASS + "() where timer:within(6000 msec)) where timer:within (1999 msec)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + "() where timer:within (2001 msec) and d=" + EVENT_D_CLASS + "() where timer:within(6001 msec))"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() where timer:within (2001 msec) or d=" + EVENT_D_CLASS + "() where timer:within(6001 msec)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() where timer:within (2000 msec) or d=" + EVENT_D_CLASS + "() where timer:within(6001 msec)"); testCase.Add("D1", "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + "() where timer:within (2001 msec) and every d=" + EVENT_D_CLASS + "() where timer:within(6001 msec)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every b=" + EVENT_B_CLASS + ") where timer:within (2000 msec) and every d=" + EVENT_D_CLASS + "() where timer:within(6001 msec)"); testCaseList.AddTest(testCase); PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=SupportBean_B and not d=SupportBean_D"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); var text = "select * from pattern [every b=SupportBean_B and not g=SupportBean_G]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.And() .Add(Patterns.EveryFilter("SupportBean_B", "b")) .Add(Patterns.NotFilter("SupportBean_G", "g")); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = env.CopyMayFail(model); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B and not g=SupportBean_G"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B and not d=SupportBean_D"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B and not a=SupportBean_A(Id='A1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B and not a2=SupportBean_A(Id='A2')"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B and not b3=SupportBean_B(Id='B3'))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B or not SupportBean_D())"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every b=SupportBean_B and not SupportBean_B(Id='B2'))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B and not SupportBean_B(Id='B2'))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "(b=SupportBean_B -> d=SupportBean_D) and " + " not SupportBean_A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "(b=SupportBean_B -> d=SupportBean_D) and " + " not SupportBean_G"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=SupportBean_B -> d=SupportBean_D) and " + " not SupportBean_G"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=SupportBean_B -> d=SupportBean_D) and " + " not SupportBean_G(Id='x')"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public override void Run(EPServiceProvider epService) { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + ") " + " and " + "(a=" + EVENT_A_CLASS + " -> e=" + EVENT_E_CLASS + ")" ); testCase.Add("E1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1"), "e", events.GetEvent("E1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> (d=" + EVENT_D_CLASS + "() or a=" + EVENT_A_CLASS + ")"); testCase.Add("A2", "b", events.GetEvent("B1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.FollowedBy( Patterns.Filter(EVENT_B_CLASS, "b"), Patterns.Or(Patterns.Filter(EVENT_D_CLASS, "d"), Patterns.Filter(EVENT_A_CLASS, "a"))); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(epService.Container, model); string text = "select * from pattern [b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + " or a=" + EVENT_A_CLASS + "]"; Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("A2", "b", events.GetEvent("B1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() -> (" + "(d=" + EVENT_D_CLASS + "() -> a=" + EVENT_A_CLASS + "())" + " or " + "(a=" + EVENT_A_CLASS + "() -> e=" + EVENT_E_CLASS + "()))" ); testCase.Add("E1", "b", events.GetEvent("B1"), "a", events.GetEvent("A2"), "e", events.GetEvent("E1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() and d=" + EVENT_D_CLASS + "() or a=" + EVENT_A_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + "() -> d=" + EVENT_D_CLASS + "()) or a=" + EVENT_A_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + "() and " + "d=" + EVENT_D_CLASS + "()) or " + "a=" + EVENT_A_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, this.GetType()); util.RunTest(epService); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("a=SupportBean_A or a=SupportBean_A"); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=SupportBean_A or b=SupportBean_B" + " or c=SupportBean_C"); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B" + " or every d=SupportBean_D"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("D1", "d", events.GetEvent("D1")); testCase.Add("D2", "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("D3", "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=SupportBean_A or b=SupportBean_B"); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=SupportBean_A or every b=SupportBean_B"); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=SupportBean_A or d=SupportBean_D"); testCase.Add("A1", "a", events.GetEvent("A1")); testCase.Add("A2", "a", events.GetEvent("A2")); testCase.Add("D1", "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every b=SupportBean_B" + "() or d=SupportBean_D" + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); for (var i = 0; i < 4; i++) { testCase.Add("D1", "d", events.GetEvent("D1")); } for (var i = 0; i < 4; i++) { testCase.Add("D2", "d", events.GetEvent("D2")); } for (var i = 0; i < 4; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } for (var i = 0; i < 8; i++) { testCase.Add("D3", "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B" + "() or every d=SupportBean_D" + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("D1", "d", events.GetEvent("D1")); testCase.Add("D2", "d", events.GetEvent("D2")); testCase.Add("D2", "d", events.GetEvent("D2")); for (var i = 0; i < 4; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } for (var i = 0; i < 4; i++) { testCase.Add("D3", "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (every d=SupportBean_D" + "() or every b=SupportBean_B" + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); for (var i = 0; i < 4; i++) { testCase.Add("D1", "d", events.GetEvent("D1")); } for (var i = 0; i < 8; i++) { testCase.Add("D2", "d", events.GetEvent("D2")); } for (var i = 0; i < 16; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } for (var i = 0; i < 32; i++) { testCase.Add("D3", "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); CaseList testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("a=A(id='A2') until D"); testCase.Add("D1", "a[0]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=A until D"); testCase.Add("D1", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=B until a=A"); testCase.Add("A1", "b[0]", null, "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=B until D(id='D3')"); testCase.Add("D3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A or b=B) until d=D(id='D3')"); testCase.Add("D3", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "b[0]", events.GetEvent("B1") }, new Object[] { "b[1]", events.GetEvent("B2") }, new Object[] { "b[2]", events.GetEvent("B3") }, new Object[] { "d", events.GetEvent("D3") } }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A or b=B) until (g=G or d=D)"); testCase.Add("D1", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "b[0]", events.GetEvent("B1") }, new Object[] { "b[1]", events.GetEvent("B2") }, new Object[] { "d", events.GetEvent("D1") } }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(d=D) until a=A(id='A1')"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=A until G(id='GX')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] a=A"); testCase.Add("A2", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:2] a=A"); testCase.Add("A2", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1] a=A"); testCase.Add("A1", "a[0]", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:1] a=A"); testCase.Add("A1", "a[0]", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] a=A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] b=B"); testCase.Add("B3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[4] (a=A or b=B)"); testCase.Add("A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); // the until ends the matching returning permanently false testCase = new EventExpressionCase("[2] b=B until a=A(id='A1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] b=B until c=C"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:2] b=B until g=G(id='G1')"); testCase.Add("B2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:4] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:3] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:2] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:1] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:1] b=B until a=A(id='A1')"); testCase.Add("A1", "b[0]", null, "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:] b=B until a=A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:] b=B until a=A(id='A2')"); testCase.Add("A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:] b=B until c=C"); testCaseList.AddTest(testCase); // same event triggering both clauses, until always wins, match does not count testCase = new EventExpressionCase("[2:] b=B until e=B(id='B2')"); testCaseList.AddTest(testCase); // same event triggering both clauses, until always wins, match does not count testCase = new EventExpressionCase("[1:] b=B until e=B(id='B1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:2] b=B until a=A(id='A2')"); testCase.Add("A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null, "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:3] b=B until G"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "b[3]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:2] b=B until G"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:10] b=B until F"); testCase.Add("F1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:10] b=B until C"); testCase.Add("C1", "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[0:1] b=B until C"); testCase.Add("C1", "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("c=C -> [2] b=B -> d=D"); testCase.Add("D3", "c", events.GetEvent("C1"), "b[0]", events.GetEvent("B2"), "b[1]", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] d=D or [3] b=B"); testCase.Add("B3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] d=D or [4] b=B"); testCase.Add("D3", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "d[2]", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] d=D and [2] b=B"); testCase.Add("D2", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("d=D until timer:interval(7 sec)"); testCase.Add("E1", "d[0]", events.GetEvent("D1"), "d[1]", null, "d[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (d=D until b=B)"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCase.Add("B2", "d[0]", null, "b", events.GetEvent("B2")); testCase.Add("B3", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "d[2]", null, "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); // note precendence: every is higher then until testCase = new EventExpressionCase("every d=D until b=B"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every d=D) until b=B"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=A until (every (timer:interval(6 sec) and not A))"); testCase.Add("G1", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("A until (every (timer:interval(7 sec) and not A))"); testCase.Add("D3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] (a=A or b=B)"); testCase.Add("B1", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every [2] a=A"); testCase.Add("A2", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every [2] a=A until d=D"); // every has Precedence; ESPER-339 testCase.Add("D1", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "d", events.GetEvent("D1") }, }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] (a=A or b=B)"); testCase.Add("B2", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A until b=B) until c=C"); testCase.Add("C1", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "c", events.GetEvent("C1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A until b=B) until g=G"); testCase.Add("G1", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "b[0]", events.GetEvent("B1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "b[1]", events.GetEvent("B2") }, new Object[] { "b[2]", events.GetEvent("B3") }, new Object[] { "g", events.GetEvent("G1") } }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("B until not B"); testCaseList.AddTest(testCase); PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("a=SupportBean_A(Id='A2') until SupportBean_D"); testCase.Add("D1", "a[0]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=SupportBean_A until SupportBean_D"); testCase.Add("D1", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B until a=SupportBean_A"); testCase.Add("A1", "b[0]", null, "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B until SupportBean_D(Id='D3')"); testCase.Add( "D3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "(a=SupportBean_A or b=SupportBean_B) until d=SupportBean_D(Id='D3')"); testCase.Add( "D3", new[] { new[] {"a[0]", events.GetEvent("A1")}, new[] {"a[1]", events.GetEvent("A2")}, new[] {"b[0]", events.GetEvent("B1")}, new[] {"b[1]", events.GetEvent("B2")}, new[] {"b[2]", events.GetEvent("B3")}, new[] {"d", events.GetEvent("D3")} }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "(a=SupportBean_A or b=SupportBean_B) until (g=SupportBean_G or d=SupportBean_D)"); testCase.Add( "D1", new[] { new[] {"a[0]", events.GetEvent("A1")}, new[] {"a[1]", events.GetEvent("A2")}, new[] {"b[0]", events.GetEvent("B1")}, new[] {"b[1]", events.GetEvent("B2")}, new[] {"d", events.GetEvent("D1")} }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(d=SupportBean_D) until a=SupportBean_A(Id='A1')"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=SupportBean_A until SupportBean_G(Id='GX')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] a=SupportBean_A"); testCase.Add("A2", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:2] a=SupportBean_A"); testCase.Add("A2", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1] a=SupportBean_A"); testCase.Add("A1", "a[0]", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:1] a=SupportBean_A"); testCase.Add("A1", "a[0]", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] a=SupportBean_A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] b=SupportBean_B"); testCase.Add( "B3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[4] (a=SupportBean_A or b=SupportBean_B)"); testCase.Add( "A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); // the until ends the matching returning permanently false testCase = new EventExpressionCase("[2] b=SupportBean_B until a=SupportBean_A(Id='A1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] b=SupportBean_B until c=SupportBean_C"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:2] b=SupportBean_B until g=SupportBean_G(Id='G1')"); testCase.Add("B2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:4] b=SupportBean_B until g=SupportBean_G(Id='G1')"); testCase.Add( "G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:3] b=SupportBean_B until g=SupportBean_G(Id='G1')"); testCase.Add( "G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:2] b=SupportBean_B until g=SupportBean_G(Id='G1')"); testCase.Add( "G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:1] b=SupportBean_B until g=SupportBean_G(Id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:1] b=SupportBean_B until a=SupportBean_A(Id='A1')"); testCase.Add("A1", "b[0]", null, "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:] b=SupportBean_B until g=SupportBean_G(Id='G1')"); testCase.Add( "G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:] b=SupportBean_B until a=SupportBean_A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:] b=SupportBean_B until a=SupportBean_A(Id='A2')"); testCase.Add( "A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:] b=SupportBean_B until c=SupportBean_C"); testCaseList.AddTest(testCase); // same event triggering both clauses, until always wins, match does not count testCase = new EventExpressionCase("[2:] b=SupportBean_B until e=SupportBean_B(Id='B2')"); testCaseList.AddTest(testCase); // same event triggering both clauses, until always wins, match does not count testCase = new EventExpressionCase("[1:] b=SupportBean_B until e=SupportBean_B(Id='B1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:2] b=SupportBean_B until a=SupportBean_A(Id='A2')"); testCase.Add( "A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null, "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:3] b=SupportBean_B until SupportBean_G"); testCase.Add( "G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "b[3]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:2] b=SupportBean_B until SupportBean_G"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:10] b=SupportBean_B until SupportBean_F"); testCase.Add("F1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:10] b=SupportBean_B until SupportBean_C"); testCase.Add("C1", "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[0:1] b=SupportBean_B until SupportBean_C"); testCase.Add("C1", "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("c=SupportBean_C -> [2] b=SupportBean_B -> d=SupportBean_D"); testCase.Add( "D3", "c", events.GetEvent("C1"), "b[0]", events.GetEvent("B2"), "b[1]", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] d=SupportBean_D or [3] b=SupportBean_B"); testCase.Add( "B3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] d=SupportBean_D or [4] b=SupportBean_B"); testCase.Add( "D3", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "d[2]", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] d=SupportBean_D and [2] b=SupportBean_B"); testCase.Add( "D2", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("d=SupportBean_D until timer:interval(7 sec)"); testCase.Add("E1", "d[0]", events.GetEvent("D1"), "d[1]", null, "d[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (d=SupportBean_D until b=SupportBean_B)"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCase.Add("B2", "d[0]", null, "b", events.GetEvent("B2")); testCase.Add( "B3", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "d[2]", null, "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); // note precendence: every is higher then until testCase = new EventExpressionCase("every d=SupportBean_D until b=SupportBean_B"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every d=SupportBean_D) until b=SupportBean_B"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "a=SupportBean_A until (every (timer:interval(6 sec) and not SupportBean_A))"); testCase.Add("G1", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "SupportBean_A until (every (timer:interval(7 sec) and not SupportBean_A))"); testCase.Add("D3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] (a=SupportBean_A or b=SupportBean_B)"); testCase.Add("B1", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every [2] a=SupportBean_A"); testCase.Add( "A2", new[] { new[] {"a[0]", events.GetEvent("A1")}, new[] {"a[1]", events.GetEvent("A2")} }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every [2] a=SupportBean_A until d=SupportBean_D"); // every has precedence; ESPER-339 testCase.Add( "D1", new[] { new[] {"a[0]", events.GetEvent("A1")}, new[] {"a[1]", events.GetEvent("A2")}, new[] {"d", events.GetEvent("D1")} }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] (a=SupportBean_A or b=SupportBean_B)"); testCase.Add( "B2", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=SupportBean_A until b=SupportBean_B) until c=SupportBean_C"); testCase.Add( "C1", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "c", events.GetEvent("C1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=SupportBean_A until b=SupportBean_B) until g=SupportBean_G"); testCase.Add( "G1", new[] { new[] {"a[0]", events.GetEvent("A1")}, new[] {"b[0]", events.GetEvent("B1")}, new[] {"a[1]", events.GetEvent("A2")}, new[] {"b[1]", events.GetEvent("B2")}, new[] {"b[2]", events.GetEvent("B3")}, new[] {"g", events.GetEvent("G1")} }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("SupportBean_B until not SupportBean_B"); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); CaseList testCaseList = new CaseList(); EventExpressionCase testCase; // The wait is done when 2 seconds passed testCase = new EventExpressionCase("timer:interval(1999 msec)"); testCase.Add("B1"); testCaseList.AddTest(testCase); String text = "select * from pattern [timer:interval(1.999)]"; EPStatementObjectModel model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.TimerInterval(1.999d); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(2 sec)"); testCase.Add("B1"); testCaseList.AddTest(testCase); // 3 seconds (>2001 microseconds) passed testCase = new EventExpressionCase("timer:interval(2.001)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(2999 milliseconds)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3 seconds)"); testCase.Add("C1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3.001 seconds)"); testCase.Add("B2"); testCaseList.AddTest(testCase); // Try with an all ... repeated timer every 3 seconds testCase = new EventExpressionCase("every timer:interval(3.001 sec)"); testCase.Add("B2"); testCase.Add("F1"); testCase.Add("D3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every timer:interval(5000 msec)"); testCase.Add("A2"); testCase.Add("B3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3.999 second) -> b=" + EVENT_B_CLASS); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(4 sec) -> b=" + EVENT_B_CLASS); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(4.001 sec) -> b=" + EVENT_B_CLASS); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(0) -> b=" + EVENT_B_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); // Try with an followed-by as a second argument testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> timer:interval(0.001)"); testCase.Add("C1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> timer:interval(0)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> timer:interval(1 sec)"); testCase.Add("C1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> timer:interval(1.001)"); testCase.Add("B2", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); // Try in a 3-way followed by testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() -> timer:interval(6.000) -> d=" + EVENT_D_CLASS); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + "() -> timer:interval(2.001) -> d=" + EVENT_D_CLASS + "())"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + "() -> timer:interval(2.000) -> d=" + EVENT_D_CLASS + "())"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); // Try with an "or" testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() or timer:interval(1.001)"); testCase.Add("B1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() or timer:interval(2.001)"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "(Id='B3') or timer:interval(8.500)"); testCase.Add("D2"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(8.500) or timer:interval(7.500)"); testCase.Add("F1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(999999 msec) or g=" + EVENT_G_CLASS); testCase.Add("G1", "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); // Try with an "and" testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() and timer:interval(4000 msec)"); testCase.Add("B2", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() and timer:interval(4001 msec)"); testCase.Add("A2", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(9999999 msec) and b=" + EVENT_B_CLASS); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(1 msec) and b=" + EVENT_B_CLASS + "(Id=\"B2\")"); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); // Try with an "within" testCase = new EventExpressionCase("timer:interval(3.000) where timer:within(2.000)"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("timer:interval(3.000) where timer:within (3.000)"); testCaseList.AddTest(testCase); // Run all tests PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=SupportBean_B and d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B and every d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B and d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every(b=SupportBean_B and d=SupportBean_D" + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.Every( Patterns.And(Patterns.Filter("SupportBean_B", "b"), Patterns.Filter("SupportBean_D", "d"))); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = env.CopyMayFail(model); Assert.AreEqual( "select * from pattern [every (b=SupportBean_B and d=SupportBean_D" + ")]", model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( b=SupportBean_B and every d=SupportBean_D" + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B and every d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every b=SupportBean_B and d=SupportBean_D" + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every a=SupportBean_A and d=SupportBean_D" + " and b=SupportBean_B"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every b=SupportBean_B and every d=SupportBean_D" + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); for (var i = 0; i < 3; i++) { testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); } testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); for (var i = 0; i < 5; i++) { testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=SupportBean_A and d=SupportBean_D" + " and b=SupportBean_B"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every a=SupportBean_A and every d=SupportBean_D" + " and b=SupportBean_B"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B and b=SupportBean_B"); testCase.Add("B1", "b", events.GetEvent("B1"), "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every a=SupportBean_A and every d=SupportBean_D" + " and every b=SupportBean_B"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (a=SupportBean_A and every d=SupportBean_D" + " and b=SupportBean_B)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B and b=SupportBean_B)"); testCase.Add("B1", "b", events.GetEvent("B1"), "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2"), "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); CaseList testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase( "a=" + EVENT_A_CLASS + " or a=" + EVENT_A_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "a=" + EVENT_A_CLASS + " or b=" + EVENT_B_CLASS + " or c=" + EVENT_C_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every b=" + EVENT_B_CLASS + " or every d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("D1", "d", events.GetEvent("D1")); testCase.Add("D2", "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("D3", "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "a=" + EVENT_A_CLASS + " or b=" + EVENT_B_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "a=" + EVENT_A_CLASS + " or every b=" + EVENT_B_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every a=" + EVENT_A_CLASS + " or d=" + EVENT_D_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCase.Add("A2", "a", events.GetEvent("A2")); testCase.Add("D1", "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (every b=" + EVENT_B_CLASS + "() or d=" + EVENT_D_CLASS + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); for (int i = 0; i < 4; i++) { testCase.Add("D1", "d", events.GetEvent("D1")); } for (int i = 0; i < 4; i++) { testCase.Add("D2", "d", events.GetEvent("D2")); } for (int i = 0; i < 4; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } for (int i = 0; i < 8; i++) { testCase.Add("D3", "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (b=" + EVENT_B_CLASS + "() or every d=" + EVENT_D_CLASS + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("D1", "d", events.GetEvent("D1")); testCase.Add("D2", "d", events.GetEvent("D2")); testCase.Add("D2", "d", events.GetEvent("D2")); for (int i = 0; i < 4; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } for (int i = 0; i < 4; i++) { testCase.Add("D3", "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (every d=" + EVENT_D_CLASS + "() or every b=" + EVENT_B_CLASS + "())"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B2", "b", events.GetEvent("B2")); for (int i = 0; i < 4; i++) { testCase.Add("D1", "d", events.GetEvent("D1")); } for (int i = 0; i < 8; i++) { testCase.Add("D2", "d", events.GetEvent("D2")); } for (int i = 0; i < 16; i++) { testCase.Add("B3", "b", events.GetEvent("B3")); } for (int i = 0; i < 32; i++) { testCase.Add("D3", "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void Run(RegressionEnvironment env) { var events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=SupportBean_B -> (d=SupportBean_D or not d=SupportBean_D)"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -[1000]> (d=SupportBean_D or not d=SupportBean_D)"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -> every d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -> d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -> not d=SupportBean_D"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=SupportBean_B -[1000]> not d=SupportBean_D"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B -> every d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B -> d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=SupportBean_B -[10]> d=SupportBean_D"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=SupportBean_B -> every d=SupportBean_D)"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (a_1=SupportBean_A() -> b=SupportBean_B -> a_2=SupportBean_A)"); testCase.Add( "A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("c=SupportBean_C() -> d=SupportBean_D -> a=SupportBean_A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (a_1=SupportBean_A() -> b=SupportBean_B() -> a_2=SupportBean_A())"); testCase.Add( "A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase( "every (a_1=SupportBean_A() -[10]> b=SupportBean_B() -[10]> a_2=SupportBean_A())"); testCase.Add( "A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ( every a=SupportBean_A -> every b=SupportBean_B)"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a=SupportBean_A() -> every b=SupportBean_B())"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType()); util.RunTest(env); }
private void RunAssertionOp(EPServiceProvider epService) { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); string text = "select * from pattern [every b=" + EVENT_B_CLASS + " and not g=" + EVENT_G_CLASS + "]"; var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.And() .Add(Patterns.EveryFilter(EVENT_B_CLASS, "b")) .Add(Patterns.NotFilter(EVENT_G_CLASS, "g")); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(epService.Container, model); Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " and not g=" + EVENT_G_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " and not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and not a=" + EVENT_A_CLASS + "(id='A1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and not a2=" + EVENT_A_CLASS + "(id='A2')"); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " and not b3=" + EVENT_B_CLASS + "(id='B3'))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " or not " + EVENT_D_CLASS + "())"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (every b=" + EVENT_B_CLASS + " and not " + EVENT_B_CLASS + "(id='B2'))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B3", "b", events.GetEvent("B3")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " and not " + EVENT_B_CLASS + "(id='B2'))"); testCase.Add("B1", "b", events.GetEvent("B1")); testCase.Add("B3", "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + ") and " + " not " + EVENT_A_CLASS); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + ") and " + " not " + EVENT_G_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + ") and " + " not " + EVENT_G_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + ") and " + " not " + EVENT_G_CLASS + "(id='x')"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, this.GetType()); util.RunTest(epService); }
private void RunAssertionOp(EPServiceProvider epService) { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> (d=" + EVENT_D_CLASS + " or not d=" + EVENT_D_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -[1000]> (d=" + EVENT_D_CLASS + " or not d=" + EVENT_D_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -[1000]> not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -[10]> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -> b=" + EVENT_B_CLASS + " -> a_2=" + EVENT_A_CLASS + ")"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("c=" + EVENT_C_CLASS + "() -> d=" + EVENT_D_CLASS + " -> a=" + EVENT_A_CLASS); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -> b=" + EVENT_B_CLASS + "() -> a_2=" + EVENT_A_CLASS + "())"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -[10]> b=" + EVENT_B_CLASS + "() -[10]> a_2=" + EVENT_A_CLASS + "())"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ( every a=" + EVENT_A_CLASS + " -> every b=" + EVENT_B_CLASS + ")"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a=" + EVENT_A_CLASS + "() -> every b=" + EVENT_B_CLASS + "())"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, this.GetType()); util.RunTest(epService); }