You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

InProcessDotnetInteractiveKernelBuilderTest.cs 2.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. // Copyright (c) Microsoft Corporation. All rights reserved.
  2. // InProcessDotnetInteractiveKernelBuilderTest.cs
  3. using AutoGen.DotnetInteractive.Extension;
  4. using FluentAssertions;
  5. using Xunit;
  6. namespace AutoGen.DotnetInteractive.Tests;
  7. public class InProcessDotnetInteractiveKernelBuilderTest
  8. {
  9. [Fact]
  10. public async Task ItAddCSharpKernelTestAsync()
  11. {
  12. var kernel = DotnetInteractiveKernelBuilder
  13. .CreateEmptyInProcessKernelBuilder()
  14. .AddCSharpKernel()
  15. .Build();
  16. var csharpCode = """
  17. #r "nuget:Microsoft.ML, 1.5.2"
  18. Console.WriteLine("Hello, World!");
  19. """;
  20. var result = await kernel.RunSubmitCodeCommandAsync(csharpCode, "csharp");
  21. result.Should().Contain("Hello, World!");
  22. }
  23. [Fact]
  24. public async Task ItAddPowershellKernelTestAsync()
  25. {
  26. var kernel = DotnetInteractiveKernelBuilder
  27. .CreateEmptyInProcessKernelBuilder()
  28. .AddPowershellKernel()
  29. .Build();
  30. var powershellCode = @"
  31. Write-Host 'Hello, World!'
  32. ";
  33. var result = await kernel.RunSubmitCodeCommandAsync(powershellCode, "pwsh");
  34. result.Should().Contain("Hello, World!");
  35. }
  36. [Fact]
  37. public async Task ItAddFSharpKernelTestAsync()
  38. {
  39. var kernel = DotnetInteractiveKernelBuilder
  40. .CreateEmptyInProcessKernelBuilder()
  41. .AddFSharpKernel()
  42. .Build();
  43. var fsharpCode = """
  44. #r "nuget:Microsoft.ML, 1.5.2"
  45. printfn "Hello, World!"
  46. """;
  47. var result = await kernel.RunSubmitCodeCommandAsync(fsharpCode, "fsharp");
  48. result.Should().Contain("Hello, World!");
  49. }
  50. [Fact]
  51. public async Task ItAddPythonKernelTestAsync()
  52. {
  53. var kernel = DotnetInteractiveKernelBuilder
  54. .CreateEmptyInProcessKernelBuilder()
  55. .AddPythonKernel("python3")
  56. .Build();
  57. var pythonCode = """
  58. %pip install numpy
  59. print('Hello, World!')
  60. """;
  61. var result = await kernel.RunSubmitCodeCommandAsync(pythonCode, "python");
  62. result.Should().Contain("Hello, World!");
  63. }
  64. }