Exemple #1
0
        public void ASynchTaskDoesNotCompleteSuccesfullyIfAnExceptionWasThrown()
        {
            var activity = new CrashingActivity();

            var asynchTask = new ASynchTask(activity, (a) => a.Execute());
            int callCount  = 0;

            asynchTask.TaskCompleted += (s, e) =>
            {
                callCount++;
                Assert.IsFalse(((ASynchTask)s).TaskCompletedSuccesFully);
            };
            asynchTask.Run();

            Thread.Sleep(100);

            //do events...otherwise taskcompleted wont run
            Application.DoEvents();

            Assert.AreEqual(1, callCount);
        }
Exemple #2
0
        public void OnTaskCompleted()
        {
            var counter  = 0;
            var activity = new SimpleModel();

            activity.StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            activity.TimeStep  = new TimeSpan(1, 0, 0, 0);
            activity.StopTime  = activity.StartTime + activity.TimeStep + activity.TimeStep;

            Action <IActivity> action = (a) => a.Execute();

            var asynchTask = new ASynchTask(activity, action);

            asynchTask.TaskCompleted += delegate { counter++; };
            asynchTask.Run();

            Thread.Sleep(100);

            //do events...otherwise taskcompleted wont run
            Application.DoEvents();
            Assert.AreEqual(activity.StartTime + activity.TimeStep, activity.CurrentTime);
            Assert.AreEqual(1, counter);
        }