示例#1
0
        public void CustomResultToOption()
        {
            // Explicit conversions
            CustomResult <CustomErrorTest> resultOk = Result.CustomOk <CustomErrorTest>();
            Option <bool> optionBool = resultOk.ToOption();

            CheckOptionValue(optionBool, true);

            CustomResult <CustomErrorTest> resultWarn = Result.CustomWarn <CustomErrorTest>("Warning");

            optionBool = resultWarn.ToOption();
            CheckOptionValue(optionBool, true);

            CustomResult <CustomErrorTest> resultFail = Result.CustomFail("Failure", new CustomErrorTest());

            optionBool = resultFail.ToOption();
            CheckOptionValue(optionBool, false);

            // Implicit conversions
            optionBool = resultOk;
            CheckOptionValue(optionBool, true);

            optionBool = resultWarn;
            CheckOptionValue(optionBool, true);

            optionBool = resultFail;
            CheckOptionValue(optionBool, false);
        }