Esempio n. 1
0
        public void ProcessIdIsProperlyInitialized()
        {
            var processMonad = ProcessMonad <Boolean> .With(() => new ErrorMonad <Boolean>(String.Empty));

            Assert.IsNotNull(processMonad.ProcessId);
            Assert.AreNotEqual(default(Guid), processMonad.ProcessId);
        }
        public void ProcessIdIsPropagatedThroughBinds()
        {
            var processMonad = ProcessMonad <Boolean> .With(() => new ErrorMonad <Boolean>(String.Empty));

            var id = processMonad.ProcessId;

            var secondMonad = processMonad.Bind(val => new ErrorMonad <Boolean>(String.Empty)) as ProcessMonad <Boolean>;

            Assert.AreEqual(id, secondMonad.ProcessId);
        }
Esempio n. 3
0
        public void ReturnRespectsInnerUnauthorizedMonad()
        {
            var asserterVisitor = new AssertProcessVisitor <Int32>
            {
                ExpectedMonadType = ExpectedMonad.Unauthorized,
            };

            ProcessMonad <Int32>
            .With(() => new UnauthorizedMonad <Int32>())
            .Accept(asserterVisitor);
        }
Esempio n. 4
0
        public void ReturnRespectsInnerErrorMonad()
        {
            var asserterVisitor = new AssertProcessVisitor <Int32>
            {
                ExpectedMonadType = ExpectedMonad.Error,
                ExpectedValue     = "some err"
            };

            ProcessMonad <Int32>
            .With(() => new ErrorMonad <Int32>("some err"))
            .Accept(asserterVisitor);
        }
Esempio n. 5
0
        public void ReturnRespectsInnerValueMonad()
        {
            var asserterVisitor = new AssertProcessVisitor <Int32>
            {
                ExpectedMonadType = ExpectedMonad.Value,
                ExpectedValue     = 2020
            };

            ProcessMonad <Int32>
            .With(() => new ValueMonad <Int32>(2020))
            .Accept(asserterVisitor);
        }