.Net: Add Reasoning Model Integration tests (#100)

* Add reasoning integration tests

* Adding Reasoning Model config
This commit is contained in:
Roger Barreto
2025-06-25 19:50:29 +00:00
committed by GitHub
parent e7b559fa62
commit 06a690685f
8 changed files with 158 additions and 119 deletions
@@ -4,6 +4,12 @@ using AgentConformance.IntegrationTests;
namespace OpenAIChatCompletion.IntegrationTests;
public class OpenAIChatCompletionChatClientAgentRunStreamingTests() : ChatClientAgentRunStreamingTests<OpenAIChatCompletionFixture>(() => new())
public class OpenAIChatCompletionChatClientAgentRunStreamingTests()
: ChatClientAgentRunStreamingTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: false))
{
}
public class OpenAIChatCompletionChatClientAgentReasoningRunStreamingTests()
: ChatClientAgentRunStreamingTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: true))
{
}
@@ -4,6 +4,12 @@ using AgentConformance.IntegrationTests;
namespace OpenAIChatCompletion.IntegrationTests;
public class OpenAIChatCompletionChatClientAgentRunTests() : ChatClientAgentRunTests<OpenAIChatCompletionFixture>(() => new())
public class OpenAIChatCompletionChatClientAgentRunTests()
: ChatClientAgentRunTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: false))
{
}
public class OpenAIChatCompletionChatClientAgentReasoningRunTests()
: ChatClientAgentRunTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: true))
{
}
@@ -16,9 +16,15 @@ namespace OpenAIChatCompletion.IntegrationTests;
public class OpenAIChatCompletionFixture : IChatClientAgentFixture
{
private static readonly OpenAIConfiguration s_config = TestConfiguration.LoadSection<OpenAIConfiguration>();
private readonly bool _useReasoningModel;
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring as nullable.
private ChatClientAgent _agent;
public OpenAIChatCompletionFixture(bool useReasoningChatModel)
{
this._useReasoningModel = useReasoningChatModel;
}
#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring as nullable.
public Agent Agent => this._agent;
@@ -41,7 +47,7 @@ public class OpenAIChatCompletionFixture : IChatClientAgentFixture
IList<AITool>? aiTools = null)
{
var chatClient = new OpenAIClient(s_config.ApiKey)
.GetChatClient(s_config.ChatModelId)
.GetChatClient(this._useReasoningModel ? s_config.ChatReasoningModelId : s_config.ChatModelId)
.AsIChatClient();
return Task.FromResult(new ChatClientAgent(chatClient, new()
@@ -4,6 +4,12 @@ using AgentConformance.IntegrationTests;
namespace OpenAIChatCompletion.IntegrationTests;
public class OpenAIChatCompletionRunStreamingTests() : RunStreamingTests<OpenAIChatCompletionFixture>(() => new())
public class OpenAIChatCompletionRunStreamingTests()
: RunStreamingTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: false))
{
}
public class OpenAIChatCompletionReasoningRunStreamingTests()
: RunStreamingTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: true))
{
}
@@ -4,6 +4,12 @@ using AgentConformance.IntegrationTests;
namespace OpenAIChatCompletion.IntegrationTests;
public class OpenAIChatCompletionRunTests() : RunTests<OpenAIChatCompletionFixture>(() => new())
public class OpenAIChatCompletionRunTests()
: RunTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: false))
{
}
public class OpenAIChatCompletionReasoningRunTests()
: RunTests<OpenAIChatCompletionFixture>(() => new(useReasoningChatModel: true))
{
}