public void IF_task_throws_exception_SHOULD_handle_and_reset_IsExecuting() { //Arrange _task = (a) => throw new Exception("gosh darn it"); using (var isExecutingChanges = Sut.SubscribeToPropertyChanged(x => x.IsExecuting)) { //Act Sut.Execute("hi"); isExecutingChanges.WaitForChangeCount(2); //Assert MockErrorHandler.Verify_HandleExceptionMessage("gosh darn it"); Assert.AreEqual(false, Sut.IsExecuting); } }
public void IF_observer_throws_exception_SHOULD_handle_and_reset_IsExecuting() { //Arrange _observable = Observable.Create <int>(observer => { observer.OnError(new Exception("oops")); return(Disposable.Empty); }); using (var isExecutingChanges = Sut.SubscribeToPropertyChanged(x => x.IsExecuting)) { //Act Sut.Execute(null); isExecutingChanges.WaitForChangeCount(2); //Assert MockErrorHandler.Verify_HandleExceptionMessage("oops"); Assert.AreEqual(false, Sut.IsExecuting); } }