Files
ClawdDotNet/tests/ClawdDotNet.Core.Tests/Engine/RequestShapeTests.cs
T
RichardandClaude Opus 5.5 77062facc9 Stufe 4c (#764): Bezeichner auf Englisch - Typen, Methoden, Felder, Parameter, Locals, Testnamen
Mit Roslyn umbenannt (Verweise folgen, Zeichenketten bleiben unberuehrt).
Nicht umbenannt, weil gespeichert oder ueber die API gebunden (Stufe 4e):
Properties, Record-Parameter, Enum-Member sowie die Parameter der
Endpunkt-Handler (Routen-/Query-Bindung ueber den Namen). Die JSON-Felder
anonymer Objekte bleiben ausdruecklich benannt (JsonFilter: pfad).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 13:18:43 +02:00

39 lines
1.2 KiB
C#

using ClawdDotNet.Core.Tests.Infrastructure;
using Shouldly;
namespace ClawdDotNet.Core.Tests.Engine;
/// <summary>
/// Shape of the outgoing request. B11/T8: <c>max_tokens</c> must be set so that a
/// model does not exhaust its full (most expensive) output limit in one step.
/// </summary>
public sealed class RequestShapeTests
{
[Fact]
public async Task The_request_sets_max_tokens()
{
var fixture = new EngineFixture();
var agent = fixture.AddAgent("agent-a");
agent.LoopGuard.MaxResponseTokens = 4_096;
fixture.Client.RespondsWithText("fertig");
await fixture.Engine.RunAsync(agent, "los", "test-instance", default);
fixture.Client.ReceivedRequests.ShouldNotBeEmpty();
fixture.Client.ReceivedRequests[0].MaxTokens.ShouldBe(4_096);
}
[Fact]
public async Task With_value_0_max_tokens_stays_unset()
{
var fixture = new EngineFixture();
var agent = fixture.AddAgent("agent-a");
agent.LoopGuard.MaxResponseTokens = 0; // provider default
fixture.Client.RespondsWithText("fertig");
await fixture.Engine.RunAsync(agent, "los", "test-instance", default);
fixture.Client.ReceivedRequests[0].MaxTokens.ShouldBeNull();
}
}