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

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