示例#1
0
        public void Failure_Ok()
        {
            var errorMessage = "error message";
            var failure      = new Failure <int, string>(errorMessage);
            var result       = failure.Bind(i => (i + 5).ToString(CultureInfo.InvariantCulture));

            Assert.That(result.UnwrapError(), Is.EqualTo(errorMessage));
        }
示例#2
0
        public void FailureBindTest_ShouldIgnoreLambda()
        {
            // Arrange
            const string message = "I am a value";
            const int    value2  = 808;
            var          value3  = new Success <int>(value2);
            var          success = new Failure <string>(message);

            // Act & Assert
            success.Bind(innerValue => {
                Assert.Equal(1, 0);
                return(new Success <int>(value2));
            }).Bind(innerValue => {
                Assert.Equal(1, 0);
                return(new Success <Success <int> >(value3));
            }).Bind(innerValue => {
                Assert.Equal(1, 0);
                return(new Success <int>(0));
            });
        }