public async Task Basic()
        {
            PipelineBuilder <int, Wrapper <int> > builder = TPipelineBuilder.GetBasicBuilder(2).Use("", TPipelineBuilder.initial).Use("", TPipelineBuilder.plus).Use("", TPipelineBuilder.plus).Use("", TPipelineBuilder.multiply);
            {
                Pipeline <int, Wrapper <int> > pipeline = await builder.Build(0, new CodeRunner.Loggings.Logger());

                PipelineResult <Wrapper <int> > res = await pipeline.Consume();

                Assert.IsTrue(res.IsOk);
                Assert.AreEqual <int>(8, res.Result !);
            }
        }
        public async Task Exception()
        {
            PipelineBuilder <int, Wrapper <int> > builder = TPipelineBuilder.GetBasicBuilder(2).Use("", TPipelineBuilder.initial).Use("", TPipelineBuilder.plus).Use("", TPipelineBuilder.plus).Use("", TPipelineBuilder.expNotImp).Use("", TPipelineBuilder.multiply);
            {
                Pipeline <int, Wrapper <int> > pipeline = await builder.Build(0, new CodeRunner.Loggings.Logger());

                PipelineResult <Wrapper <int> > res = await pipeline.Consume();

                Assert.AreEqual <int>(4, res.Result !);
                Assert.IsTrue(res.IsError);
                Assert.IsInstanceOfType(res.Exception !.InnerException, typeof(NotImplementedException));
                Assert.AreEqual(CodeRunner.Loggings.LogLevel.Error, res.Logs.Last().Level);
            }
        }