private static void RunNonCompileAssertion( int assertionNumber, EventType eventType, IDictionary <string, ExprEvaluator> nodes, SupportEvalAssertionPair assertion, RegressionEnvironment env, SupportEvalBuilder builder) { EventBean theEvent; if (assertion.Underlying is IDictionary <string, object> ) { theEvent = new MapEventBean((IDictionary <string, object>)assertion.Underlying, eventType); } else { if (eventType.UnderlyingType != assertion.Underlying) { eventType = GetSubtype(assertion.Underlying, env); } theEvent = new BeanEventBean(assertion.Underlying, eventType); } var eventsPerStream = new EventBean[] { theEvent }; foreach (var expected in assertion.Builder.Results) { if (builder.ExcludeNamesExcept != null && !builder.ExcludeNamesExcept.Equals(expected.Key)) { continue; } var eval = nodes.Get(expected.Key); object result = null; try { result = eval.Evaluate(eventsPerStream, true, null); } catch (Exception ex) { Console.WriteLine("Failed at expression " + expected.Key + " at event #" + assertionNumber); for (Exception exx = ex; exx != null; exx = exx.InnerException) { Console.WriteLine(">> {0}", exx.GetType().CleanName()); Console.WriteLine("--------------------"); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace.ToString()); } Log.Error("Failed at expression " + expected.Key + " at event #" + assertionNumber, ex); Assert.Fail(); } DoAssert(false, assertionNumber, expected.Key, expected.Value, result); } }
public void TestAddArraySetSemantics() { var e = new EventBean[10]; for (var i = 0; i < e.Length; i++) { e[i] = new MapEventBean(null); } Assert.IsFalse(e[0].Equals(e[1])); object[][] testData = { new object[] {new EventBean[] { }, new EventBean[] { }, "P2"}, new object[] {new EventBean[] { }, new[] {e[0], e[1]}, "P2"}, new object[] {new[] {e[0]}, new EventBean[] { }, "P1"}, new object[] {new[] {e[0]}, new[] {e[0]}, "P1"}, new object[] {new[] {e[0]}, new[] {e[1]}, new[] {e[0], e[1]}}, new object[] {new[] {e[0], e[1]}, new[] {e[1]}, "P1"}, new object[] {new[] {e[0], e[1]}, new[] {e[0]}, "P1"}, new object[] {new[] {e[0]}, new[] {e[0], e[1]}, "P2"}, new object[] {new[] {e[1]}, new[] {e[0], e[1]}, "P2"}, new object[] {new[] {e[2]}, new[] {e[0], e[1]}, new[] {e[0], e[1], e[2]}}, new object[] {new[] {e[2], e[0]}, new[] {e[0], e[1]}, new[] {e[0], e[1], e[2]}}, new object[] {new[] {e[2], e[0]}, new[] {e[0], e[1], e[2]}, new[] {e[0], e[1], e[2]}} }; for (var i = 0; i < testData.Length; i++) { var p1 = (EventBean[]) testData[i][0]; var p2 = (EventBean[]) testData[i][1]; var expectedObj = testData[i][2]; object result = CollectionUtil.AddArrayWithSetSemantics(p1, p2); if (expectedObj.Equals("P1")) { Assert.IsTrue(result == p1); } else if (expectedObj.Equals("P2")) { Assert.IsTrue(result == p2); } else { var resultArray = (EventBean[]) result; var expectedArray = (EventBean[]) result; EPAssertionUtil.AssertEqualsAnyOrder(resultArray, expectedArray); } } }
public EventBean[] Convert(MatchedEventMap events) { int count = 0; foreach (var entry in _filterTypes) { EventBean theEvent = events.GetMatchingEventByTag(entry.Key); _eventsPerStream[count++] = theEvent; } if (_arrayEventTypes != null) { foreach (var entry in _arrayEventTypes) { var eventArray = (EventBean[])events.GetMatchingEventAsObjectByTag(entry.Key); var map = new Dictionary <string, object>(); map.Put(entry.Key, eventArray); EventBean theEvent = new MapEventBean(map, null); _eventsPerStream[count++] = theEvent; } } return(_eventsPerStream); }