private void RunAssertionEquals(string epl, SupportUpdateListener[] listeners) { // test function returns lookup value and "equals" for (var i = 0; i < listeners.Length; i++) { var stmt = _epService.EPAdministrator.CreateEPL(epl.Replace("!NUM!", i.ToString(CultureInfo.InvariantCulture))); stmt.AddListener(listeners[i]); } MyLib.ResetCountInvoked(); var loops = 1000; var delta = PerformanceObserver.TimeMillis( () => { for (var i = 0; i < loops; i++) { _epService.EPRuntime.SendEvent(new SupportBean("E_" + i % listeners.Length, 0)); var listener = listeners[i % listeners.Length]; Assert.IsTrue(listener.GetAndClearIsInvoked()); } }); Assert.AreEqual(loops, MyLib.GetCountInvoked()); Log.Info("Equals delta=" + delta); Assert.That(delta, Is.LessThan(1000), "Delta is " + delta); _epService.EPAdministrator.DestroyAllStatements(); }