summaryrefslogtreecommitdiff
path: root/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Agent.Core.Tests/PromptAndRuntimeTests.cs')
-rw-r--r--tests/Agent.Core.Tests/PromptAndRuntimeTests.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs b/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs
index 5e682cd..27308ef 100644
--- a/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs
+++ b/tests/Agent.Core.Tests/PromptAndRuntimeTests.cs
@@ -2,6 +2,7 @@ using Agent.Core.Ollama;
using Agent.Core.Prompts;
using Agent.Core.Runtime;
using Agent.Core.Sessions;
+using Agent.Core.Skills;
using Agent.Core.Tasks;
using Agent.Core.Tools;
using System.Text.Json;
@@ -13,12 +14,18 @@ public sealed class PromptAndRuntimeTests
[Fact]
public void Prompt_order_is_fixed_and_request_is_last()
{
+ var availableSkills = new List<AgentSkill>
+ {
+ new("root", "test-skill", "A test skill.", "skill instructions")
+ };
IReadOnlyList<OllamaMessage> messages = PromptComposer.Compose(new PromptContext(
- "fixed", "user system", "ja", ["skill"], "capability", "graph", "summary",
+ "fixed", "user system", "ja", availableSkills, [], "capability", "graph", "summary",
[new ConversationMessage("user", "old"), new ConversationMessage("assistant", "reply")],
"new request", ["image"]));
- Assert.Equal(["fixed", "user system", "Respond in locale: ja.", "skill", "capability", "graph", "summary", "old", "reply", "new request"], messages.Select(x => x.Content));
+ // Check that the skill catalog (name + description) is present, not the full instructions.
+ Assert.Contains(messages, m => m.Content.Contains("test-skill") && m.Content.Contains("A test skill."));
+ Assert.DoesNotContain(messages, m => m.Content == "skill instructions");
Assert.Equal("system", messages[0].Role);
Assert.Equal("user", messages[^1].Role);
Assert.Equal(["image"], messages[^1].Images);