Example #1
0
        public async void ErrorMatchAsyncTest()
        {
            var testValue    = "Error";
            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.ErrorResult <int>(testValue);

            var matchResult = await sut.MatchAsync(bindSuccess, bindError, bindFailure);

            Assert.Equal(errorBound, matchResult);
        }