autogen/dotnet/test/AutoGen.DotnetInteractive.Tests/InProcessDotnetInteractiveKernelBuilderTest.cs
Griffin Bassman 9af6883fbe
fix: dotnet test CI and standardize test categories (#5286)
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2025-02-03 11:49:08 -05:00

81 lines
2.3 KiB
C#

// Copyright (c) Microsoft Corporation. All rights reserved.
// InProcessDotnetInteractiveKernelBuilderTest.cs
using AutoGen.DotnetInteractive.Extension;
using FluentAssertions;
using Xunit;
namespace AutoGen.DotnetInteractive.Tests;
[Collection("Sequential")]
[Trait("Category", "UnitV1Kernel")]
public class InProcessDotnetInteractiveKernelBuilderTest
{
[Fact]
public async Task ItAddCSharpKernelTestAsync()
{
using var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyInProcessKernelBuilder()
.AddCSharpKernel()
.Build();
var csharpCode = """
#r "nuget:Microsoft.ML, 1.5.2"
Console.WriteLine("Hello, World!");
""";
var result = await kernel.RunSubmitCodeCommandAsync(csharpCode, "csharp");
result.Should().Contain("Hello, World!");
}
[Fact]
public async Task ItAddPowershellKernelTestAsync()
{
using var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyInProcessKernelBuilder()
.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()
{
using var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyInProcessKernelBuilder()
.AddFSharpKernel()
.Build();
var fsharpCode = """
#r "nuget:Microsoft.ML, 1.5.2"
printfn "Hello, World!"
""";
var result = await kernel.RunSubmitCodeCommandAsync(fsharpCode, "fsharp");
result.Should().Contain("Hello, World!");
}
[Fact]
public async Task ItAddPythonKernelTestAsync()
{
using var kernel = DotnetInteractiveKernelBuilder
.CreateEmptyInProcessKernelBuilder()
.AddPythonKernel("python3")
.Build();
var pythonCode = """
%pip install numpy
print('Hello, World!')
""";
var result = await kernel.RunSubmitCodeCommandAsync(pythonCode, "python");
result.Should().Contain("Hello, World!");
}
}