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.3 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. [Collection("Sequential")]
  8. public class InProcessDotnetInteractiveKernelBuilderTest
  9. {
  10. [Fact]
  11. public async Task ItAddCSharpKernelTestAsync()
  12. {
  13. using var kernel = DotnetInteractiveKernelBuilder
  14. .CreateEmptyInProcessKernelBuilder()
  15. .AddCSharpKernel()
  16. .Build();
  17. var csharpCode = """
  18. #r "nuget:Microsoft.ML, 1.5.2"
  19. Console.WriteLine("Hello, World!");
  20. """;
  21. var result = await kernel.RunSubmitCodeCommandAsync(csharpCode, "csharp");
  22. result.Should().Contain("Hello, World!");
  23. }
  24. [Fact]
  25. public async Task ItAddPowershellKernelTestAsync()
  26. {
  27. using var kernel = DotnetInteractiveKernelBuilder
  28. .CreateEmptyInProcessKernelBuilder()
  29. .AddPowershellKernel()
  30. .Build();
  31. var powershellCode = @"
  32. Write-Host 'Hello, World!'
  33. ";
  34. var result = await kernel.RunSubmitCodeCommandAsync(powershellCode, "pwsh");
  35. result.Should().Contain("Hello, World!");
  36. }
  37. [Fact]
  38. public async Task ItAddFSharpKernelTestAsync()
  39. {
  40. using var kernel = DotnetInteractiveKernelBuilder
  41. .CreateEmptyInProcessKernelBuilder()
  42. .AddFSharpKernel()
  43. .Build();
  44. var fsharpCode = """
  45. #r "nuget:Microsoft.ML, 1.5.2"
  46. printfn "Hello, World!"
  47. """;
  48. var result = await kernel.RunSubmitCodeCommandAsync(fsharpCode, "fsharp");
  49. result.Should().Contain("Hello, World!");
  50. }
  51. [Fact]
  52. public async Task ItAddPythonKernelTestAsync()
  53. {
  54. using var kernel = DotnetInteractiveKernelBuilder
  55. .CreateEmptyInProcessKernelBuilder()
  56. .AddPythonKernel("python3")
  57. .Build();
  58. var pythonCode = """
  59. %pip install numpy
  60. print('Hello, World!')
  61. """;
  62. var result = await kernel.RunSubmitCodeCommandAsync(pythonCode, "python");
  63. result.Should().Contain("Hello, World!");
  64. }
  65. }