public MappingTests()
        {
            successValue = new RedDragon();

            result = Result.Success <RedDragon, PinkLily>(successValue);

            spy = new Spy();
        }
        public SwitchingTests()
        {
            successValue = new();
            failValue    = new();

            success = Result.Success <RedDragon, PinkLily>(successValue);
            fail    = Result.Error <RedDragon, PinkLily>(failValue);

            spy = new();
        }
Exemplo n.º 3
0
        public void FunctionMatchingOverloadInvokesTheSuccessBranch()
        {
            var successDummy = new RedDragon();
            var errorDummy   = new RedDragon();

            var result = Result.Success <string>();

            var matchResult = result.Match(
                () => successDummy,
                e => errorDummy);

            Assert.AreSame(successDummy, matchResult);
            Assert.AreNotSame(errorDummy, matchResult);
        }
    private void Start()
    {
        Dragon dragon = new Dragon();

        dragon.Attack();

        Dragon dragon2 = new BlueDragon();

        dragon2.Attack();

        Dragon dragon3 = new RedDragon();

        dragon3.Attack();
    }
        public void ActionMatchingOverloadInvokesTheSuccessBranch()
        {
            var value = new RedDragon();

            var result = Result.Success <RedDragon, string>(value);

            var spy = new Spy();

            result.Match(
                v => { spy.Trip(v); },
                e => { spy.Trip(e); }
                );

            spy.VerifyTrip(1, value);
        }