Files
wehub-resource-sync db620d33df
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00

56 lines
1.5 KiB
C#

// Copyright (c) Microsoft. All rights reserved.
namespace Microsoft.Agents.AI.UnitTests;
/// <summary>
/// Unit tests for the <see cref="LoopEvaluation"/> class.
/// </summary>
public class LoopEvaluationTests
{
/// <summary>
/// Verify that Stop produces an evaluation that does not re-invoke and carries no feedback.
/// </summary>
[Fact]
public void Stop_DoesNotReinvoke_AndHasNoFeedback()
{
// Act
var evaluation = LoopEvaluation.Stop();
// Assert
Assert.False(evaluation.ShouldReinvoke);
Assert.Null(evaluation.Feedback);
}
/// <summary>
/// Verify that Continue with no argument re-invokes and carries no feedback.
/// </summary>
[Fact]
public void Continue_NoFeedback_ReinvokesWithNullFeedback()
{
// Act
var evaluation = LoopEvaluation.Continue();
// Assert
Assert.True(evaluation.ShouldReinvoke);
Assert.Null(evaluation.Feedback);
}
/// <summary>
/// Verify that Continue with whitespace-only feedback normalizes the feedback to null, matching the documented
/// "null, empty, or whitespace is treated as no feedback" semantics.
/// </summary>
[Theory]
[InlineData("")]
[InlineData(" ")]
[InlineData("\t\n")]
public void Continue_WhitespaceFeedback_NormalizesToNull(string feedback)
{
// Act
var evaluation = LoopEvaluation.Continue(feedback);
// Assert
Assert.True(evaluation.ShouldReinvoke);
Assert.Null(evaluation.Feedback);
}
}