예제 #1
0
        public void TestStartAndObserve()
        {
            _scheduleService.Time = 0;
            _observer.StartObserve();
            _scheduleService.Time = 1000;
            SupportSchedulingServiceImpl.EvaluateSchedule(_scheduleService);
            Assert.AreEqual(_beginState, _evaluator.GetAndClearMatchEvents()[0]);

            // Test start again
            _observer.StartObserve();
            _scheduleService.Time = 60999;
            SupportSchedulingServiceImpl.EvaluateSchedule(_scheduleService);
            Assert.AreEqual(0, _evaluator.MatchEvents.Count);

            _scheduleService.Time = 61000; // 1 minute plus 1 second
            SupportSchedulingServiceImpl.EvaluateSchedule(_scheduleService);
            Assert.AreEqual(_beginState, _evaluator.GetAndClearMatchEvents()[0]);
        }
예제 #2
0
        public void TestStartAndStop()
        {
            // Start then stop
            _scheduleService.Time = 0;
            _observer.StartObserve();
            _observer.StopObserve();
            _scheduleService.Time = 1000;
            SupportSchedulingServiceImpl.EvaluateSchedule(_scheduleService);
            Assert.AreEqual(0, _evaluator.GetAndClearMatchEvents().Count);

            // Test start again
            _observer.StartObserve();
            _scheduleService.Time = 2500;
            SupportSchedulingServiceImpl.EvaluateSchedule(_scheduleService);
            Assert.AreEqual(_beginState, _evaluator.GetAndClearMatchEvents()[0]);

            _observer.StopObserve();
            _observer.StartObserve();

            _scheduleService.Time = 3500;
            SupportSchedulingServiceImpl.EvaluateSchedule(_scheduleService);
            Assert.AreEqual(_beginState, _evaluator.GetAndClearMatchEvents()[0]);
        }
예제 #3
0
        public static StatementContext MakeContext()
        {
            var sched = new SupportSchedulingServiceImpl();

            return(MakeContext(sched));
        }