public void TestProcessAll()
        {
            Assert.IsNull(ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, new HashSet <MultiKey <EventBean> >(), true, false, null));

            var testEvent1  = MakeEvent(10, 5, 6);
            var testEvent2  = MakeEvent(11, 6, 7);
            var newEventSet = MakeEventSet(testEvent1);

            newEventSet.Add(new MultiKey <EventBean>(new EventBean[] { testEvent2 }));

            var testEvent3  = MakeEvent(20, 1, 2);
            var testEvent4  = MakeEvent(21, 3, 4);
            var oldEventSet = MakeEventSet(testEvent3);

            oldEventSet.Add(new MultiKey <EventBean>(new EventBean[] { testEvent4 }));

            var result    = _outputProcessorAll.ProcessJoinResult(newEventSet, oldEventSet, false);
            var newEvents = result.First;
            var oldEvents = result.Second;

            Assert.AreEqual(2, newEvents.Length);
            Assert.AreEqual(10d, newEvents[0].Get("resultOne"));
            Assert.AreEqual(30, newEvents[0].Get("resultTwo"));

            Assert.AreEqual(11d, newEvents[1].Get("resultOne"));
            Assert.AreEqual(42, newEvents[1].Get("resultTwo"));

            Assert.AreEqual(2, oldEvents.Length);
            Assert.AreEqual(20d, oldEvents[0].Get("resultOne"));
            Assert.AreEqual(2, oldEvents[0].Get("resultTwo"));

            Assert.AreEqual(21d, oldEvents[1].Get("resultOne"));
            Assert.AreEqual(12, oldEvents[1].Get("resultTwo"));
        }
        public UniformPair <EventBean[]> OutputJoin(bool isSynthesize)
        {
            var pair = processor.ProcessJoinResult(EventBeanUtility.ToLinkedHashSetNullIfEmpty(eventsNewJoin), EventBeanUtility.ToLinkedHashSetNullIfEmpty(eventsOldJoin), isSynthesize);

            eventsNewJoin.Clear();
            eventsOldJoin.Clear();
            return(pair);
        }
        public UniformPair <EventBean[]> OutputJoin(bool isSynthesize)
        {
            if (_outputLastIStreamBufJoin == null && _outputLastRStreamBufJoin == null)
            {
                return(null);
            }
            UniformPair <EventBean[]> pair = _processor.ProcessJoinResult(EventBeanUtility.ToSingletonSetIfNotNull(_outputLastIStreamBufJoin), EventBeanUtility.ToSingletonSetIfNotNull(_outputLastRStreamBufJoin), isSynthesize);

            _outputLastIStreamBufJoin = null;
            _outputLastRStreamBufJoin = null;
            return(pair);
        }