Example #1
0
        public void AsyncJob_Unit_Dispose_JobIsRunning()
        {
            List<Object> list = Enumerable.Range(0, 100).Select(i => new Object()).ToList();
            Action executeOneAction = () => { list.RemoveAt(0); Thread.Sleep(10); };
            Func<Boolean> isCompleteFunc = () => list.Count > 0;
            using (AsyncJob target = new MockAsyncJob(executeOneAction, isCompleteFunc)) {
                target.Start();

                target.Dispose();
                Assert.AreEqual(false, target.IsRunning);
            }
        }
Example #2
0
 public void AsyncJob_Unit_Error_JobNotRun()
 {
     Action executeOneAction = () => { throw new ApplicationException("This is a test."); };
     using (AsyncJob target = new MockAsyncJob(executeOneAction)) {
         Exception actual = target.Error;
         Assert.IsNull(actual);
     }
 }
Example #3
0
        public void AsyncJob_Unit_Error_ErrorOccurs()
        {
            String message = "This is a test.";
            Action executeOneAction = () => { throw new ApplicationException(message); };
            Func<Boolean> isCompleteFunc = () => false;
            using (AsyncJob target = new MockAsyncJob(executeOneAction, isCompleteFunc)) {
                target.Start();
                AsyncJobTests.WaitOneSecond(target);

                Exception actual = target.Error;
                Assert.IsNotNull(actual);
                Assert.AreEqual(message, actual.Message);
            }
        }
Example #4
0
        public void AsyncJob_Unit_WaitToStop_TimeoutDurationIsZero()
        {
            List<Object> list = Enumerable.Range(0, 100).Select(i => new Object()).ToList();
            Action executeOneAction = () => { list.RemoveAt(0); Thread.Sleep(10); };
            Func<Boolean> isCompleteFunc = () => list.Count > 0;
            using (AsyncJob target = new MockAsyncJob(executeOneAction, isCompleteFunc)) {
                target.Start();

                Boolean actual = target.WaitToStop(TimeSpan.FromTicks(0));
                Assert.AreEqual(false, actual);

                target.Stop();
            }
        }
Example #5
0
 public void AsyncJob_Unit_Stop_Optimal()
 {
     Action executeOneAction = () => Thread.Sleep(10);
     Func<Boolean> isCompleteFunc = () => false;
     using (AsyncJob target = new MockAsyncJob(executeOneAction, isCompleteFunc)) {
         target.Start();
         target.Stop();
     }
 }
Example #6
0
 public void AsyncJob_Unit_Stop_JobIsStopped()
 {
     Action executeOneAction = () => { };
     Func<Boolean> isCompleteFunc = () => true;
     using (AsyncJob target = new MockAsyncJob(executeOneAction, isCompleteFunc)) {
         target.Start();
         AsyncJobTests.WaitOneSecond(target);
         target.Stop();
     }
 }
Example #7
0
        public void AsyncJob_Unit_IsRunning_JobStopped()
        {
            Action executeOneAction = () => Thread.Sleep(10);
            Func<Boolean> isCompleteFunc = () => false;
            using (AsyncJob target = new MockAsyncJob()) {
                target.Start();
                target.Stop();

                Boolean actual = target.IsRunning;
                Assert.AreEqual(false, actual);
            }
        }
Example #8
0
        public void AsyncJob_Unit_IsComplete_Exception()
        {
            Action executeOneAction = () => { };
            String message = "This is a test.";
            Func<Boolean> isCompleteFunc = () => { throw new ApplicationException(message); };
            using (AsyncJob target = new MockAsyncJob(executeOneAction, isCompleteFunc)) {
                target.Start();
                AsyncJobTests.WaitOneSecond(target);

                Exception error = target.Error;
                Assert.IsNotNull(error);
                Assert.AreEqual(message, error.Message);
            }
        }
Example #9
0
        public void AsyncJob_Unit_Error_NoErrorOccurs()
        {
            Action executeOneAction = () => { };
            using (AsyncJob target = new MockAsyncJob(executeOneAction)) {
                target.Start();
                AsyncJobTests.WaitOneSecond(target);

                Exception actual = target.Error;
                Assert.IsNull(actual);
            }
        }