|
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // DotnetInteractiveStdioKernelConnectorTests.cs
-
- using AutoGen.DotnetInteractive.Extension;
- using FluentAssertions;
- using Microsoft.DotNet.Interactive;
- using Xunit;
- using Xunit.Abstractions;
-
- namespace AutoGen.DotnetInteractive.Tests;
-
- [Collection("Sequential")]
- [Trait("Category", "UnitV1Kernel")]
- public class DotnetInteractiveStdioKernelConnectorTests : IDisposable
- {
- private string _workingDir;
- private Kernel kernel;
- public DotnetInteractiveStdioKernelConnectorTests(ITestOutputHelper output)
- {
- _workingDir = Path.Combine(Path.GetTempPath(), "test", Path.GetRandomFileName());
- if (!Directory.Exists(_workingDir))
- {
- Directory.CreateDirectory(_workingDir);
- }
-
- kernel = DotnetInteractiveKernelBuilder
- .CreateKernelBuilder(_workingDir)
- .RestoreDotnetInteractive()
- .AddPythonKernel("python3")
- .BuildAsync().Result;
- }
-
- [Fact]
- public async Task ItAddCSharpKernelTestAsync()
- {
- var csharpCode = """
- #r "nuget:Microsoft.ML, 1.5.2"
- var str = "Hello" + ", World!";
- Console.WriteLine(str);
- """;
-
- var result = await this.kernel.RunSubmitCodeCommandAsync(csharpCode, "csharp");
- result.Should().Contain("Hello, World!");
- }
-
- [Fact]
- public async Task ItAddPowershellKernelTestAsync()
- {
- var powershellCode = @"
- Write-Host 'Hello, World!'
- ";
-
- var result = await this.kernel.RunSubmitCodeCommandAsync(powershellCode, "pwsh");
- result.Should().Contain("Hello, World!");
- }
-
- [Fact]
- public async Task ItAddFSharpKernelTestAsync()
- {
- var fsharpCode = """
- printfn "Hello, World!"
- """;
-
- var result = await this.kernel.RunSubmitCodeCommandAsync(fsharpCode, "fsharp");
- result.Should().Contain("Hello, World!");
- }
-
- [Fact]
- public async Task ItAddPythonKernelTestAsync()
- {
- var pythonCode = """
- %pip install numpy
- str = 'Hello' + ', World!'
- print(str)
- """;
-
- var result = await this.kernel.RunSubmitCodeCommandAsync(pythonCode, "python");
- result.Should().Contain("Hello, World!");
- }
-
- public void Dispose()
- {
- this.kernel.Dispose();
- }
- }
|