Files
MyAgent/tests/MyAgent.Tests/Core/ExecutionPlanCompilerTests.cs

35 lines
1.1 KiB
C#

using MyAgent.Core;
using MyAgent.Tools;
using Xunit;
namespace MyAgent.Tests.Core;
public sealed class ExecutionPlanCompilerTests
{
[Fact]
public void Compile_CreatesParallelToolsAndDependentAnalyst()
{
var compiler = new ExecutionPlanCompiler(new SubagentRegistry(), new ToolCatalog());
var decision = new PlannerDecisionEnvelope
{
NeedsTool = true,
NeedsAnalysis = true,
Route = new RouteDecision { WebPolicy = WebPolicy.Required },
Tools =
[
new RouteToolRequest { Name = "web_search", Query = "one" },
new RouteToolRequest { Name = "web_fetch", Url = "https://example.com" }
]
};
var plan = compiler.Compile(decision);
Assert.Equal(3, plan.Nodes.Count);
Assert.Empty(plan.Nodes[0].DependsOn);
Assert.Empty(plan.Nodes[1].DependsOn);
Assert.Equal(["tool-1", "tool-2"], plan.Nodes[2].DependsOn);
Assert.Equal("analyst", plan.Nodes[2].AgentId);
Assert.Equal(2, plan.MaxConcurrency);
}
}