Exemple #1
0
        public async Task can_provide_access_to_fronted_capabilities()
        {
            var cSharpKernel = new CSharpKernel();

            using var kernel = new CompositeKernel
                  {
                      cSharpKernel
                  };

            kernel.UseFrontedEnvironment(_ => new TestFrontendEnvironment());

            using var kernelEvents = kernel.KernelEvents.ToSubscribedList();

            FrontendEnvironmentBase frontendEnvironment = null;

            kernel.AddMiddleware(async(command, context, next) =>
            {
                frontendEnvironment = context.FrontendEnvironment;
                await next(command, context);
            });

            await kernel.SendAsync(new SubmitCode("2"));

            frontendEnvironment
            .Should()
            .BeOfType <TestFrontendEnvironment>();
        }
Exemple #2
0
        private static IKernel CreateKernel(
            string defaultKernelName,
            FrontendEnvironmentBase frontendEnvironment, StartupOptions startupOptions)
        {
            var compositeKernel = new CompositeKernel();

            compositeKernel.UseFrontedEnvironment(context => frontendEnvironment);

            compositeKernel.Add(
                new CSharpKernel()
                .UseDefaultFormatting()
                .UseNugetDirective()
                .UseKernelHelpers()
                .UseJupyterHelpers()
                .UseWho()
                .UseXplot()
                .UseMathAndLaTeX());

            compositeKernel.Add(
                new FSharpKernel()
                .UseDefaultFormatting()
                .UseKernelHelpers()
                .UseWho()
                .UseDefaultNamespaces()
                .UseXplot()
                .UseMathAndLaTeX());

            compositeKernel.Add(
                new PowerShellKernel()
                .UseJupyterHelpers()
                .UseXplot(),
                new[] { "#!pwsh" });

            compositeKernel.Add(
                new JavaScriptKernel(),
                new[] { "#!js" });

            compositeKernel.Add(
                new HtmlKernel());

            var kernel = compositeKernel
                         .UseDefaultMagicCommands()
                         .UseLog()
                         .UseAbout()
                         .UseHttpApi(startupOptions);

            kernel.DefaultKernelName = defaultKernelName;
            var enableHttp = new SubmitCode("#!enable-http", compositeKernel.Name);

            enableHttp.PublishInternalEvents();
            compositeKernel.DeferCommand(enableHttp);
            return(kernel);
        }
        private static IKernel CreateKernel(
            string defaultKernelName,
            FrontendEnvironmentBase frontendEnvironment)
        {
            var compositeKernel = new CompositeKernel();

            compositeKernel.UseFrontedEnvironment(context => frontendEnvironment);

            compositeKernel.Add(
                new CSharpKernel()
                .UseDefaultFormatting()
                .UseNugetDirective()
                .UseKernelHelpers()
                .UseJupyterHelpers()
                .UseWho()
                .UseXplot()
                .UseMathAndLaTeX());

            compositeKernel.Add(
                new FSharpKernel()
                .UseDefaultFormatting()
                .UseKernelHelpers()
                .UseWho()
                .UseDefaultNamespaces()
                .UseXplot()
                .UseMathAndLaTeX());

            compositeKernel.Add(
                new PowerShellKernel()
                .UseXplot()
                , new[] { "#!pwsh" });

            var kernel = compositeKernel
                         .UseDefaultMagicCommands()
                         .UseLog()
                         .UseAbout();

            kernel.DefaultKernelName = defaultKernelName;
            kernel.Name = ".NET";

            return(kernel);
        }