mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
Add MessageMerger regression test skeleton
Agent-Logs-Url: https://github.com/microsoft/agent-framework/sessions/43f2a9ba-4aac-4491-89ba-8de379eefc2b Co-authored-by: lokitoth <6936551+lokitoth@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
Unverified
parent
bd0d6070f1
commit
175a9c3558
@@ -42,6 +42,47 @@ public class MessageMergerTests
|
||||
response.FinishReason.Should().BeNull();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test_MessageMerger_PreservesFunctionCallOrderingWhenToolResultHasCreatedAt()
|
||||
{
|
||||
// Arrange
|
||||
string responseId = Guid.NewGuid().ToString("N");
|
||||
string functionCallMessageId = Guid.NewGuid().ToString("N");
|
||||
string functionResultMessageId = Guid.NewGuid().ToString("N");
|
||||
string callId = Guid.NewGuid().ToString("N");
|
||||
DateTimeOffset toolResultCreatedAt = DateTimeOffset.UtcNow;
|
||||
|
||||
MessageMerger merger = new();
|
||||
|
||||
merger.AddUpdate(new AgentResponseUpdate
|
||||
{
|
||||
ResponseId = responseId,
|
||||
MessageId = functionCallMessageId,
|
||||
AgentId = TestAgentId1,
|
||||
Role = ChatRole.Assistant,
|
||||
Contents = [new FunctionCallContent(callId, "handoff_to_TestAgent2")],
|
||||
});
|
||||
merger.AddUpdate(new AgentResponseUpdate
|
||||
{
|
||||
ResponseId = responseId,
|
||||
MessageId = functionResultMessageId,
|
||||
AgentId = TestAgentId1,
|
||||
CreatedAt = toolResultCreatedAt,
|
||||
Role = ChatRole.Tool,
|
||||
Contents = [new FunctionResultContent(callId, "Transferred.")],
|
||||
});
|
||||
|
||||
// Act
|
||||
AgentResponse response = merger.ComputeMerged(responseId);
|
||||
|
||||
// Assert
|
||||
response.Messages.Should().HaveCount(2);
|
||||
response.Messages[0].Role.Should().Be(ChatRole.Assistant);
|
||||
response.Messages[0].Contents.Should().ContainSingle().Which.Should().BeOfType<FunctionCallContent>();
|
||||
response.Messages[1].Role.Should().Be(ChatRole.Tool);
|
||||
response.Messages[1].Contents.Should().ContainSingle().Which.Should().BeOfType<FunctionResultContent>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Test_MessageMerger_PropagatesFinishReasonFromUpdates()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user