コード例 #1
0
        public async Task AsyncAwaitTest()
        {
            object value  = new object();
            object result = await AsyncFunctions.CompiledAsync(value);

            Assert.AreEqual(value, result);
        }
コード例 #2
0
        public async Task ResultValueTry_Ok()
        {
            int initialValue = Numbers.Number;

            var resultValue = await ResultErrorTryAsync(() => AsyncFunctions.DivisionAsync(initialValue), Exceptions.ExceptionError());

            Assert.True(resultValue.OkStatus);
        }
コード例 #3
0
        public async Task ResultValueTryAsync_Exception()
        {
            const int initialValue = 0;
            var       resultValue  = await ResultValueTryAsync(() => AsyncFunctions.DivisionAsync(initialValue), Exceptions.ExceptionError());

            Assert.True(resultValue.HasErrors);
            Assert.Equal(ErrorResultType.DivideByZero, resultValue.Errors.First().ErrorResultType);
        }
コード例 #4
0
        public async Task ResultValueBindTryAsync_Ok()
        {
            int initialValue = Numbers.Number;

            var resultValue = await ResultValueBindTryAsync(() => ResultValueFactory.CreateTaskResultValue(Division(initialValue)),
                                                            Exceptions.ExceptionError());

            Assert.True(resultValue.OkStatus);
            Assert.Equal(resultValue.Value, await AsyncFunctions.DivisionAsync(initialValue));
        }
コード例 #5
0
        public async Task ResultValueTryOkAsync_OkResult_OkTry()
        {
            int initialValue = Numbers.Number;
            var numberResult = new ResultValue <int>(initialValue);

            var numberAfterTry = await numberResult.ResultValueTryOkAsync(AsyncFunctions.DivisionAsync, CreateErrorTest());

            Assert.True(numberAfterTry.OkStatus);
            Assert.Equal(await AsyncFunctions.DivisionAsync(initialValue), numberAfterTry.Value);
        }
コード例 #6
0
        public async Task ResultValueBindTryOkAsync_OkResult_OkTry()
        {
            int initialValue = Numbers.Number;
            var numberResult = new ResultValue <int>(initialValue);

            var numberAfterTry = await numberResult.ResultValueBindTryOkAsync(
                numbers => ResultValueFactory.CreateTaskResultValue(Division(numbers)), Exceptions.ExceptionError());

            Assert.True(numberAfterTry.OkStatus);
            Assert.Equal(await AsyncFunctions.DivisionAsync(initialValue), numberAfterTry.Value);
        }
コード例 #7
0
        public async Task FuncAwaitableTest()
        {
            int result = await AsyncFunctions.AsyncFunctionWithFuncAwaitable(1);

            Assert.AreEqual(1, result);
        }
コード例 #8
0
        public async Task ResultValueOkBadAsync_Bad_ReturnNewValueByErrors()
        {
            var errorsInitial = CreateErrorListTwoTest();
            var resultValue   = new ResultValue <int>(errorsInitial);

            var resultAfterWhere = await resultValue.ResultValueOkBadAsync(okFunc : _ => Task.FromResult(String.Empty),
                                                                           badFunc : errors => AsyncFunctions.IntToStringAsync(errors.Count));

            Assert.True(resultAfterWhere.OkStatus);
            Assert.Equal(errorsInitial.Count.ToString(), resultAfterWhere.Value);
        }