Skip to content

Commit 9458c03

Browse files
committed
Tests
1 parent 3df8fa4 commit 9458c03

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tests/ModelContextProtocol.Tests/Client/McpClientExtensionsTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,32 @@ public async Task GetPromptsAsync_HonorsJsonSerializerOptions()
171171

172172
await Assert.ThrowsAsync<NotSupportedException>(() => client.GetPromptAsync("Prompt", new Dictionary<string, object?> { ["i"] = 42 }, emptyOptions, cancellationToken: TestContext.Current.CancellationToken));
173173
}
174+
175+
[Fact]
176+
public async Task WithName_ChangesToolName()
177+
{
178+
JsonSerializerOptions options = new(JsonSerializerOptions.Default);
179+
IMcpClient client = await CreateMcpClientForServer();
180+
181+
var tool = (await client.ListToolsAsync(options, TestContext.Current.CancellationToken)).FirstOrDefault();
182+
var originalName = tool?.Name;
183+
var renamedTool = tool?.WithName("RenamedTool");
184+
185+
Assert.NotNull(renamedTool);
186+
Assert.Equal("RenamedTool", renamedTool.Name);
187+
Assert.Equal(originalName, tool?.Name);
188+
}
189+
190+
[Fact]
191+
public async Task WithDescription_ChangesToolDescription()
192+
{
193+
JsonSerializerOptions options = new(JsonSerializerOptions.Default);
194+
IMcpClient client = await CreateMcpClientForServer();
195+
var tool = (await client.ListToolsAsync(options, TestContext.Current.CancellationToken)).FirstOrDefault();
196+
var originalDescription = tool?.Description;
197+
var redescribedTool = tool?.WithDescription("ToolWithNewDescription");
198+
Assert.NotNull(redescribedTool);
199+
Assert.Equal("ToolWithNewDescription", redescribedTool.Description);
200+
Assert.Equal(originalDescription, tool?.Description);
201+
}
174202
}

0 commit comments

Comments
 (0)