// Copyright (c) Microsoft. All rights reserved.
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Moq;
namespace Microsoft.Agents.AI.Workflows.Declarative.UnitTests;
///
/// Mock implementation of for unit testing purposes.
///
internal sealed class MockAgentProvider : Mock
{
public IList ExistingConversationIds { get; } = [];
public MockAgentProvider()
{
this.Setup(provider => provider.CreateConversationAsync(It.IsAny()))
.Returns(() => Task.FromResult(this.CreateConversationId()));
}
private string CreateConversationId()
{
string newConversationId = Guid.NewGuid().ToString("N");
this.ExistingConversationIds.Add(newConversationId);
return newConversationId;
}
}