public async Task CanExecuteBuildedApplication()
        {
            var services = new ServiceCollection();

            services.AddLogging();
            services.AddOptions <MariCommandsOptions>();
            services.AddSingleton <IModuleCache, ModuleCache>();


            var provider = services.BuildServiceProvider(true);


            var app = new CommandApplicationBuilder(new Dictionary <string, object>(), provider);

            app.UseDefaultMiddlewares();

            var cmdDelegate = app.Build();

            var context = new CommandContext()
            {
                RawArgs             = "someRandomText",
                ServiceScopeFactory = provider.GetRequiredService <IServiceScopeFactory>(),
            };

            await cmdDelegate(context);

            Assert.NotNull(context.Result);
            Assert.IsType <CommandNotFoundResult>(context.Result);
        }
        public void CanBuildApplication()
        {
            var provider = new ServiceCollection()
                           .BuildServiceProvider(true);

            var app = new CommandApplicationBuilder(new Dictionary <string, object>(), provider);

            app.UseDefaultMiddlewares();

            var cmdDelegate = app.Build();
        }