public async void SuccessMatchAsyncTest() { var testValue = 2; var successBound = new Mock <IOperationResult <float> >().Object; var errorBound = new Mock <IOperationResult <float> >().Object; var failureBound = new Mock <IOperationResult <float> >().Object; Func <int, Task <IOperationResult <float> > > bindSuccess = _ => Task.FromResult(successBound); Func <int?, string, Task <IOperationResult <float> > > bindError = (_, str) => Task.FromResult(errorBound); Func <Exception, Task <IOperationResult <float> > > bindFailure = _ => Task.FromResult(failureBound); var sut = new OperationResult.SuccessResult <int>(testValue); var matchResult = await sut.MatchAsync(bindSuccess, bindError, bindFailure); Assert.Equal(successBound, matchResult); }
public void SuccessMatchTest() { var testValue = 2; var successBound = new Mock <IOperationResult <float> >().Object; var errorBound = new Mock <IOperationResult <float> >().Object; var failureBound = new Mock <IOperationResult <float> >().Object; Func <int, IOperationResult <float> > bindSuccess = _ => successBound; Func <int?, string, IOperationResult <float> > bindError = (_, str) => errorBound; Func <Exception, IOperationResult <float> > bindFailure = _ => failureBound; var sut = new OperationResult.SuccessResult <int>(testValue); var matchResult = sut.Match(bindSuccess, bindError, bindFailure); Assert.Equal(successBound, matchResult); }