mirror of
https://github.com/microsoft/autogen.git
synced 2025-07-05 08:01:20 +00:00
86 lines
2.4 KiB
C#
86 lines
2.4 KiB
C#
// 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();
|
|
}
|
|
}
|