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); } }
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); } }
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(); } }
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(); } }
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(); } }
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); } }
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); } }
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); } }