public void ContinueWithActionInterfaceToOperationCallbackTest() { var operation = new AsyncOperation<bool>(); IOperationResult<bool> operationResult = OperationResult.CreateResult(OperationType.PageNavigation, this, true, DataContext.Empty); bool isInvoked = false; var continuationAction = new ActionContinuationMock { Invoke = result => { result.ShouldEqual(operationResult); isInvoked = true; } }; operation.ContinueWith(continuationAction); isInvoked.ShouldBeFalse(); operation.ToOperationCallback().Invoke(operationResult); isInvoked.ShouldBeTrue(); isInvoked = false; operation.ContinueWith(continuationAction); isInvoked.ShouldBeTrue(); }
public void ContinueWithActionInterfaceContinuationTest() { var operation = new AsyncOperation <bool>(); IOperationResult <bool> operationResult = OperationResult .CreateResult(OperationType.PageNavigation, this, true, DataContext.Empty); var exception = new TestException(); var continuationAction = new ActionContinuationMock { Invoke = result => { throw exception; } }; var continueWith = operation.ContinueWith(continuationAction); continueWith.IsCompleted.ShouldBeFalse(); operation.SetResult(operationResult); continueWith.IsCompleted.ShouldBeTrue(); continueWith.Result.IsFaulted.ShouldBeTrue(); continueWith.Result.Exception.ShouldEqual(exception); }
public void ContinueWithActionInterfaceContinuationTest() { var operation = new AsyncOperation<bool>(); IOperationResult<bool> operationResult = OperationResult .CreateResult(OperationType.PageNavigation, this, true, DataContext.Empty); var exception = new TestException(); var continuationAction = new ActionContinuationMock { Invoke = result => { throw exception; } }; var continueWith = operation.ContinueWith(continuationAction); continueWith.IsCompleted.ShouldBeFalse(); operation.SetResult(operationResult); continueWith.IsCompleted.ShouldBeTrue(); continueWith.Result.IsFaulted.ShouldBeTrue(); continueWith.Result.Exception.ShouldEqual(exception); }