autogen/dotnet/test/AutoGen.DotnetInteractive.Tests/DotnetInteractiveKernelBuilderTest.cs

79 lines
2.1 KiB
C#
Raw Normal View History

// Copyright (c) Microsoft Corporation. All rights reserved.
// DotnetInteractiveKernelBuilderTest.cs
using AutoGen.DotnetInteractive.Extension;
using FluentAssertions;
using Xunit;
namespace AutoGen.DotnetInteractive.Tests;
public class DotnetInteractiveKernelBuilderTest
{
[Fact]
public async Task ItAddCSharpKernelTestAsync()
{
var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyBuilder()
.AddCSharpKernel()
.Build();
var csharpCode = """
#r "nuget:Microsoft.ML, 1.5.2"
Console.WriteLine("Hello, World!");
""";
var result = await kernel.RunSubmitCodeCommandAsync(csharpCode, "C#");
result.Should().Contain("Hello, World!");
}
[Fact]
public async Task ItAddPowershellKernelTestAsync()
{
var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyBuilder()
.AddPowershellKernel()
.Build();
var powershellCode = @"
Write-Host 'Hello, World!'
";
var result = await kernel.RunSubmitCodeCommandAsync(powershellCode, "pwsh");
result.Should().Contain("Hello, World!");
}
[Fact]
public async Task ItAddFSharpKernelTestAsync()
{
var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyBuilder()
.AddFSharpKernel()
.Build();
var fsharpCode = """
#r "nuget:Microsoft.ML, 1.5.2"
printfn "Hello, World!"
""";
var result = await kernel.RunSubmitCodeCommandAsync(fsharpCode, "F#");
result.Should().Contain("Hello, World!");
}
[Fact]
public async Task ItAddPythonKernelTestAsync()
{
var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyBuilder()
.AddPythonKernel("python3")
.Build();
var pythonCode = """
%pip install numpy
print('Hello, World!')
""";
var result = await kernel.RunSubmitCodeCommandAsync(pythonCode, "python");
result.Should().Contain("Hello, World!");
}
}