public async void TestAsync2() { _testOutputHelper.WriteLine($"TestAsync start {Thread.CurrentThread.ManagedThreadId}"); var id = new Identifier("wer"); Stopwatch counter = Stopwatch.StartNew(); var chain = await ResultFactory.ChainAsync(id, async() => await MethodTestAsync(ResultFactory.Ok <int>(id, 1))) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .Next(async(eval, result) => await MethodTestAsync2(result)) .ResolveAsync(); counter.Stop(); _testOutputHelper .WriteLine($"TestAsync end {Thread.CurrentThread.ManagedThreadId}: Time elapsed: {counter.Elapsed}"); Assert.True(chain.OnError == false); }
public async void Test01() { var id = new Identifier("abc"); var chain = await ResultFactory .ChainAsync(id, async() => await Fnc01()) .ResolveAsync(); }
public async void Test() { var id = new Identifier("c"); var c = ResultFactory.ChainAsync(id, () => Task.FromResult(ResultFactory.Ok(id, "step 1"))) .Next((v, result) => Task.FromResult(ResultFactory.Ok(result.Identifier, $"Step 2 => {result.Content}"))) .Next((v, result) => Task.FromResult(ResultFactory.Ok(result.Identifier, $"Step 3 => {result.Content}"))); var x = await c.ResolveAsync(); Console.WriteLine(x); }
public async void TestWithExit() { _testOutputHelper.WriteLine($"TestAsync start {Thread.CurrentThread.ManagedThreadId}"); var id = new Identifier("wer"); Stopwatch counter = Stopwatch.StartNew(); var chain = await ResultFactory.ChainAsync(id, async() => await MethodTestAsync(ResultFactory.Ok <int>(id, 1))) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }).Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); await eval.RaiseExitAsync(); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) .Next(async(eval, result) => { var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); return(r); }) //.Next(async (eval, result) => //{ // var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); // return r; //} ) //.Next(async (eval, result) => //{ // var r = await MethodTestAsync3(ResultFactory.Ok(id, new object())); // return r; //} ) /* * .Next(async v => * { * var xy = await MethodTestAsync3(ResultFactory.Ok(id, new object())); * * * } ) * .Next(async v => await MethodTestAsync3(ResultFactory.Ok(id, new object()) )) */ //.Next(async (eval, result) => await MethodTestAsync2(result)) //.Next(async (eval, result) => await MethodTestAsync2(result)) //.Next(async (eval, result) => await MethodTestAsync2(result)) .ResolveAsync(); counter.Stop(); _testOutputHelper .WriteLine($"TestAsync end {Thread.CurrentThread.ManagedThreadId}: Time elapsed: {counter.Elapsed}"); Assert.True(chain.OnError == false); }
public async void TestAsync() { _testOutputHelper.WriteLine($"TestAsync start {Thread.CurrentThread.ManagedThreadId}"); var id = new Identifier("wer"); var chain = await ResultFactory.ChainAsync(id, async() => await MethodTestAsync(ResultFactory.Ok <int>(id, 1)), error => { _testOutputHelper.WriteLine(error.Error.ErrorMessage); return(Task.FromResult(error)); }) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .ResolveAsync(); _testOutputHelper.WriteLine($"TestAsync end {Thread.CurrentThread.ManagedThreadId}"); Assert.True(chain.OnError == false); }
public async void TestLazyEvaluatorAsync2() { _testOutputHelper.WriteLine($"TestAsync start {Thread.CurrentThread.ManagedThreadId}"); var id = new Identifier("wer"); Stopwatch counter = Stopwatch.StartNew(); var chain = await ResultFactory.ChainAsync(id, async() => await MethodTestAsync(ResultFactory.Ok <int>(id, 1)), error => { _testOutputHelper.WriteLine(error.Error.ErrorMessage); return(Task.FromResult(error)); }) #region body .Next(async(v, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) .Next(async(eval, result) => await MethodTestAsync(result)) #endregion .ResolveAsync(); counter.Stop(); _testOutputHelper .WriteLine($"TestAsync end {Thread.CurrentThread.ManagedThreadId}: Time elapsed: {counter.Elapsed}"); Assert.True(chain.OnError); }