コード例 #1
0
        public override void Run(EPServiceProvider epService)
        {
            IDictionary <TimeUnit, EPServiceProvider> epServices = SupportEngineFactory.SetupEnginesByTimeUnit();

            RunAssertionEventTime(epServices);
            RunAssertionLongProperty(epServices);
        }
コード例 #2
0
        public override void Run(EPServiceProvider defaultEPService)
        {
            IDictionary <TimeUnit, EPServiceProvider> epServices = SupportEngineFactory.SetupEnginesByTimeUnit();

            foreach (EPServiceProvider epService in epServices.Values)
            {
                epService.EPAdministrator.Configuration.AddEventType <SupportBean>();
            }
            EPServiceProvider engineMillis = epServices.Get(TimeUnit.MILLISECONDS);
            EPServiceProvider engineMicros = epServices.Get(TimeUnit.MICROSECONDS);

            RunAssertionTimeWindow(engineMillis, 0, "1", 1000);
            RunAssertionTimeWindow(engineMicros, 0, "1", 1000000);
            RunAssertionTimeWindow(engineMicros, 0, "10 milliseconds", 10000);
            RunAssertionTimeWindow(engineMicros, 0, "10 microseconds", 10);
            RunAssertionTimeWindow(engineMicros, 0, "1 seconds 10 microseconds", 1000010);

            RunAssertionTimeWindow(engineMillis, 123456789, "10", 123456789 + 10 * 1000);
            RunAssertionTimeWindow(engineMicros, 123456789, "10", 123456789 + 10 * 1000000);

            RunAssertionTimeWindow(engineMillis, 0, "1 months 10 milliseconds", TimePlusMonth(0, 1) + 10);
            RunAssertionTimeWindow(engineMicros, 0, "1 months 10 microseconds", TimePlusMonth(0, 1) * 1000 + 10);

            long currentTime = DateTimeParser.ParseDefaultMSec("2002-05-1T08:00:01.999");

            RunAssertionTimeWindow(engineMillis, currentTime, "1 months 50 milliseconds", TimePlusMonth(currentTime, 1) + 50);
            RunAssertionTimeWindow(engineMicros, currentTime * 1000 + 33, "3 months 100 microseconds", TimePlusMonth(currentTime, 3) * 1000 + 33 + 100);
        }
コード例 #3
0
        public override void Run(EPServiceProvider defaultService)
        {
            IDictionary <TimeUnit, EPServiceProvider> epServices = SupportEngineFactory.SetupEnginesByTimeUnit();

            foreach (EPServiceProvider epService in epServices.Values)
            {
                epService.EPAdministrator.Configuration.AddEventType <SupportBean>();
            }

            RunAssertionWithTime(epServices.Get(TimeUnit.MILLISECONDS), 0, 10000);
            RunAssertionWithTime(epServices.Get(TimeUnit.MICROSECONDS), 0, 10000000);
        }
コード例 #4
0
        public override void Run(EPServiceProvider epService)
        {
            IDictionary <TimeUnit, EPServiceProvider> epServices = SupportEngineFactory.SetupEnginesByTimeUnit();

            long time        = DateTimeParser.ParseDefaultMSec("2002-05-30T09:00:00.000");
            long currentTime = DateTimeHelper.CurrentTimeMillis;
            EPServiceProvider engineMillis = epServices.Get(TimeUnit.MILLISECONDS);
            EPServiceProvider engineMicros = epServices.Get(TimeUnit.MICROSECONDS);

            RunAssertionPattern(engineMillis, 0, "timer:interval(1)", 1000);
            RunAssertionPattern(engineMicros, 0, "timer:interval(1)", 1000000);

            RunAssertionPattern(engineMillis, 0, "timer:interval(10 sec 5 msec)", 10005);
            RunAssertionPattern(engineMicros, 0, "timer:interval(10 sec 5 msec 1 usec)", 10005001);

            RunAssertionPattern(engineMillis, 0, "timer:interval(1 month 10 msec)", TimePlusMonth(0, 1) + 10);
            RunAssertionPattern(engineMicros, 0, "timer:interval(1 month 10 usec)", TimePlusMonth(0, 1) * 1000 + 10);

            RunAssertionPattern(engineMillis, currentTime, "timer:interval(1 month 50 msec)", TimePlusMonth(currentTime, 1) + 50);
            RunAssertionPattern(engineMicros, currentTime * 1000 + 33, "timer:interval(3 month 100 usec)", TimePlusMonth(currentTime, 3) * 1000 + 33 + 100);

            RunAssertionPattern(engineMillis, time, "timer:at(1, *, *, *, *, *)", time + 60000);
            RunAssertionPattern(engineMicros, time * 1000 + 123, "timer:at(1, *, *, *, *, *)", time * 1000 + 60000000 + 123);

            // Schedule Date-only
            RunAssertionPattern(engineMillis, time, "timer:schedule(iso:'2002-05-30T09:01:00')", time + 60000);
            RunAssertionPattern(engineMicros, time * 1000 + 123, "timer:schedule(iso:'2002-05-30T09:01:00')", time * 1000 + 60000000);

            // Schedule Period-only
            RunAssertionPattern(engineMillis, time, "every timer:schedule(period: 2 minute)", time + 120000);
            RunAssertionPattern(engineMicros, time * 1000 + 123, "every timer:schedule(period: 2 minute)", time * 1000 + 123 + 120000000);

            // Schedule Date+period
            RunAssertionPattern(engineMillis, time, "every timer:schedule(iso:'2002-05-30T09:00:00/PT1M')", time + 60000);
            RunAssertionPattern(engineMicros, time * 1000 + 345, "every timer:schedule(iso:'2002-05-30T09:00:00/PT1M')", time * 1000 + 60000000);

            // Schedule recurring period
            RunAssertionPattern(engineMillis, time, "every timer:schedule(iso:'R2/PT1M')", time + 60000, time + 120000);
            RunAssertionPattern(engineMicros, time * 1000 + 345, "every timer:schedule(iso:'R2/PT1M')", time * 1000 + 345 + 60000000, time * 1000 + 345 + 120000000);

            // Schedule date+recurring period
            RunAssertionPattern(engineMillis, time, "every timer:schedule(iso:'R2/2002-05-30T09:01:00/PT1M')", time + 60000, time + 120000);
            RunAssertionPattern(engineMicros, time * 1000 + 345, "every timer:schedule(iso:'R2/2002-05-30T09:01:00/PT1M')", time * 1000 + 60000000, time * 1000 + 120000000);

            // Schedule with date computation
            RunAssertionPattern(engineMillis, time, "timer:schedule(date: current_timestamp.WithTime(9, 1, 0, 0))", time + 60000);
            RunAssertionPattern(engineMicros, time * 1000 + 345, "timer:schedule(date: current_timestamp.WithTime(9, 1, 0, 0))", time * 1000 + 345 + 60000000);
        }
コード例 #5
0
        public void TestClientMicrosecond()
        {
            Configuration config = SupportConfigFactory.GetConfiguration();

            config.EngineDefaults.Threading.IsInternalTimerEnabled = true;
            config.EngineDefaults.TimeSource.TimeUnit = TimeUnit.MICROSECONDS;

            try {
                EPServiceProviderManager.GetDefaultProvider(config).Initialize();
                Assert.Fail();
            } catch (ConfigurationException ex) {
                SupportMessageAssertUtil.AssertMessage(ex, "Internal timer requires millisecond time resolution");
            }

            EPServiceProvider epService = SupportEngineFactory.SetupEngineDefault(TimeUnit.MICROSECONDS, 0);

            try {
                epService.EPRuntime.SendEvent(new TimerControlEvent(TimerControlEvent.ClockTypeEnum.CLOCK_INTERNAL));
                Assert.Fail();
            } catch (EPException ex) {
                SupportMessageAssertUtil.AssertMessage(ex, "Internal timer requires millisecond time resolution");
            }
        }
コード例 #6
0
 public void SetUp()
 {
     epServices = SupportEngineFactory.SetupEnginesByTimeUnit();
 }