Example #1
0
        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);
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
        }