// 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; } }