-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathMergeExcludedToolsTests.cs
More file actions
61 lines (50 loc) · 1.93 KB
/
MergeExcludedToolsTests.cs
File metadata and controls
61 lines (50 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
using Microsoft.Extensions.AI;
using System.ComponentModel;
using System.Text.Json;
using Xunit;
namespace GitHub.Copilot.SDK.Test;
public class OverridesBuiltInToolTests
{
[Fact]
public void ToolDefinition_FromAIFunction_Sets_OverridesBuiltInTool()
{
var fn = AIFunctionFactory.Create(Noop, "grep");
var def = CopilotClient.ToolDefinition.FromAIFunction(fn, overridesBuiltInTool: true);
Assert.Equal("grep", def.Name);
Assert.True(def.OverridesBuiltInTool);
}
[Fact]
public void ToolDefinition_FromAIFunction_Omits_OverridesBuiltInTool_When_False()
{
var fn = AIFunctionFactory.Create(Noop, "custom_tool");
var def = CopilotClient.ToolDefinition.FromAIFunction(fn, overridesBuiltInTool: false);
Assert.Equal("custom_tool", def.Name);
Assert.Null(def.OverridesBuiltInTool);
}
[Fact]
public void SessionConfig_BuiltInToolOverrides_Is_Used()
{
var config = new SessionConfig
{
Tools = new List<AIFunction> { AIFunctionFactory.Create(Noop, "grep") },
BuiltInToolOverrides = new HashSet<string> { "grep" },
};
Assert.Contains("grep", config.BuiltInToolOverrides);
}
[Fact]
public void ResumeSessionConfig_BuiltInToolOverrides_Is_Used()
{
var config = new ResumeSessionConfig
{
Tools = new List<AIFunction> { AIFunctionFactory.Create(Noop, "grep") },
BuiltInToolOverrides = new HashSet<string> { "grep" },
};
Assert.NotNull(config.BuiltInToolOverrides);
Assert.Contains("grep", config.BuiltInToolOverrides!);
}
[Description("No-op")]
static string Noop() => "";
}