Exemplo n.º 1
0
        public void TestRevisionGen()
        {
            Random random = new Random();
            IDictionary <String, IDictionary <String, String> > last = new Dictionary <String, IDictionary <String, String> >();
            int count = 0;

            String[] groups = new String[] { "K0", "K1", "K2", "K4" };

            EPStatement consumerOne = _epService.EPAdministrator.CreateEPL("select * from RevQuote");

            consumerOne.Events += _listenerOne.Update;

            for (int i = 0; i < groups.Length; i++)
            {
                String key      = groups[i];
                Object theEvent = new SupportRevisionFull(key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                                                          "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                Add(last, key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                    "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                _epService.EPRuntime.SendEvent(theEvent);
            }
            _listenerOne.Reset();
            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.EndTest();
            }                                                                        // ending instrumentation for now comes volume

            for (int i = 0; i < 10000; i++)
            {
                if (i % 20000 == 0)
                {
                    Log.Debug(".testRevisionGen Loop " + i);
                }
                int    typeNum = random.Next(6);
                String key     = groups[random.Next(groups.Length)];
                count++;

                Object theEvent;
                if (typeNum == 0)
                {
                    theEvent = new SupportRevisionFull(key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                                                       "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                    Add(last, key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                        "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                }
                else if (typeNum == 1)
                {
                    theEvent = new SupportDeltaOne(key, "1-" + Next(count), "5-" + Next(count));
                    Add(last, key, null, "1-" + Next(count), null, null, null, "5-" + Next(count));
                }
                else if (typeNum == 2)
                {
                    theEvent = new SupportDeltaTwo(key, "0-" + Next(count), "2-" + Next(count), "3-" + Next(count));
                    Add(last, key, "0-" + Next(count), null, "2-" + Next(count), "3-" + Next(count), null, null);
                }
                else if (typeNum == 3)
                {
                    theEvent = new SupportDeltaThree(key, "0-" + Next(count), "4-" + Next(count));
                    Add(last, key, "0-" + Next(count), null, null, null, "4-" + Next(count), null);
                }
                else if (typeNum == 4)
                {
                    theEvent = new SupportDeltaFour(key, "0-" + Next(count), "2-" + Next(count), "5-" + Next(count));
                    Add(last, key, "0-" + Next(count), null, "2-" + Next(count), null, null, "5-" + Next(count));
                }
                else if (typeNum == 5)
                {
                    theEvent = new SupportDeltaFive(key, "1-" + Next(count), "5-" + Next(count));
                    Add(last, key, null, "1-" + Next(count), null, null, null, "5-" + Next(count));
                }
                else
                {
                    throw new IllegalStateException();
                }

                _epService.EPRuntime.SendEvent(theEvent);
                AssertEvent(last, _listenerOne.AssertOneGetNewAndReset(), count);
            }
        }
        private void RunAssertionRevisionGen(EPServiceProvider epService)
        {
            var random = new Random();
            var last   = new Dictionary <string, IDictionary <string, string> >();
            int count  = 0;
            var groups = new string[] { "K0", "K1", "K2", "K4" };

            EPStatement consumerOne = epService.EPAdministrator.CreateEPL("select * from RevQuote");
            var         listenerOne = new SupportUpdateListener();

            consumerOne.Events += listenerOne.Update;

            for (int i = 0; i < groups.Length; i++)
            {
                string key      = groups[i];
                var    theEvent = new SupportRevisionFull(key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                                                          "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                Add(last, key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                    "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                epService.EPRuntime.SendEvent(theEvent);
            }
            listenerOne.Reset();

            for (int i = 0; i < 10000; i++)
            {
                if (i % 20000 == 0)
                {
                    Log.Debug(".testRevisionGen Loop " + i);
                }
                int    typeNum = random.Next(6);
                string key     = groups[random.Next(groups.Length)];
                count++;

                Object theEvent;
                if (typeNum == 0)
                {
                    theEvent = new SupportRevisionFull(key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                                                       "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                    Add(last, key, "0-" + Next(count), "1-" + Next(count), "2-" + Next(count),
                        "3-" + Next(count), "4-" + Next(count), "5-" + Next(count));
                }
                else if (typeNum == 1)
                {
                    theEvent = new SupportDeltaOne(key, "1-" + Next(count), "5-" + Next(count));
                    Add(last, key, null, "1-" + Next(count), null, null, null, "5-" + Next(count));
                }
                else if (typeNum == 2)
                {
                    theEvent = new SupportDeltaTwo(key, "0-" + Next(count), "2-" + Next(count), "3-" + Next(count));
                    Add(last, key, "0-" + Next(count), null, "2-" + Next(count), "3-" + Next(count), null, null);
                }
                else if (typeNum == 3)
                {
                    theEvent = new SupportDeltaThree(key, "0-" + Next(count), "4-" + Next(count));
                    Add(last, key, "0-" + Next(count), null, null, null, "4-" + Next(count), null);
                }
                else if (typeNum == 4)
                {
                    theEvent = new SupportDeltaFour(key, "0-" + Next(count), "2-" + Next(count), "5-" + Next(count));
                    Add(last, key, "0-" + Next(count), null, "2-" + Next(count), null, null, "5-" + Next(count));
                }
                else if (typeNum == 5)
                {
                    theEvent = new SupportDeltaFive(key, "1-" + Next(count), "5-" + Next(count));
                    Add(last, key, null, "1-" + Next(count), null, null, null, "5-" + Next(count));
                }
                else
                {
                    throw new IllegalStateException();
                }

                epService.EPRuntime.SendEvent(theEvent);
                AssertEvent(last, listenerOne.AssertOneGetNewAndReset(), count);
            }
            consumerOne.Dispose();
        }