// Copyright (c) Microsoft. All rights reserved. using System; using System.Threading.Tasks; namespace AgentConformance.IntegrationTests; /// /// Base class for all test classes used for testing agents. /// /// The type of the agent fixture used in these tests. /// Used to create a new fixture for this test suite. public abstract class AgentTests(Func createAgentFixture) : IAsyncLifetime where TAgentFixture : IAgentFixture { protected TAgentFixture Fixture { get; private set; } = default!; public Task InitializeAsync() { this.Fixture = createAgentFixture(); return this.Fixture.InitializeAsync(); } public Task DisposeAsync() => this.Fixture.DisposeAsync(); }