Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
Python - Merge - Tests / paths-filter (push) Has been cancelled
Python - Merge - Tests / Python Tests - Core (integration, ubuntu-latest, 3.10) (push) Has been cancelled
Python - Merge - Tests / Python Tests - Azure AI (integration, ubuntu-latest, 3.10) (push) Has been cancelled
Python - Merge - Tests / python-integration-tests-check (push) Has been cancelled
Python - Lab Tests / paths-filter (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (ubuntu-latest, 3.10) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (ubuntu-latest, 3.11) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (ubuntu-latest, 3.12) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (ubuntu-latest, 3.13) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (ubuntu-latest, 3.14) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (windows-latest, 3.10) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (windows-latest, 3.11) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (windows-latest, 3.12) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (windows-latest, 3.13) (push) Has been cancelled
Python - Lab Tests / Python Lab Tests (windows-latest, 3.14) (push) Has been cancelled
Check .md links / markdown-link-check (push) Has been cancelled
42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using System;
|
|
using FluentAssertions;
|
|
using Microsoft.Extensions.AI;
|
|
|
|
namespace Microsoft.Agents.AI.Workflows.UnitTests;
|
|
|
|
public class MessageMergerTests
|
|
{
|
|
public static string TestAgentId1 => "TestAgent1";
|
|
public static string TestAgentId2 => "TestAgent2";
|
|
|
|
public static string TestAuthorName1 => "Assistant1";
|
|
public static string TestAuthorName2 => "Assistant2";
|
|
|
|
[Fact]
|
|
public void Test_MessageMerger_AssemblesMessage()
|
|
{
|
|
DateTimeOffset creationTime = DateTimeOffset.UtcNow;
|
|
string responseId = Guid.NewGuid().ToString("N");
|
|
string messageId = Guid.NewGuid().ToString("N");
|
|
|
|
MessageMerger merger = new();
|
|
|
|
foreach (AgentResponseUpdate update in "Hello Agent Framework Workflows!".ToAgentRunStream(authorName: TestAuthorName1, agentId: TestAgentId1, messageId: messageId, createdAt: creationTime, responseId: responseId))
|
|
{
|
|
merger.AddUpdate(update);
|
|
}
|
|
|
|
AgentResponse response = merger.ComputeMerged(responseId);
|
|
|
|
response.Messages.Should().HaveCount(1);
|
|
response.Messages[0].Role.Should().Be(ChatRole.Assistant);
|
|
response.Messages[0].AuthorName.Should().Be(TestAuthorName1);
|
|
response.AgentId.Should().Be(TestAgentId1);
|
|
response.CreatedAt.Should().NotBe(creationTime);
|
|
response.Messages[0].CreatedAt.Should().Be(creationTime);
|
|
response.Messages[0].Contents.Should().HaveCount(1);
|
|
}
|
|
}
|