summaryrefslogtreecommitdiff
path: root/tests/Agent.Core.Tests/ConfigurationTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Agent.Core.Tests/ConfigurationTests.cs')
-rw-r--r--tests/Agent.Core.Tests/ConfigurationTests.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/Agent.Core.Tests/ConfigurationTests.cs b/tests/Agent.Core.Tests/ConfigurationTests.cs
index e84d132..f6db9f2 100644
--- a/tests/Agent.Core.Tests/ConfigurationTests.cs
+++ b/tests/Agent.Core.Tests/ConfigurationTests.cs
@@ -1,5 +1,7 @@
using Agent.App.Cli;
using Agent.App.Configuration;
+using Agent.App;
+using Agent.Core.Localization;
using Agent.Core.Skills;
namespace Agent.Core.Tests;
@@ -101,6 +103,36 @@ public sealed class ConfigurationTests
}
[Fact]
+ public void Runtime_configuration_values_are_propagated()
+ {
+ var configuration = new AgentConfiguration
+ {
+ Agent = new RuntimeOptions { MaxIterations = 41, SameFailureLimit = 4 },
+ Planner = new PlannerOptions { MaxTasks = 17 },
+ Ollama = new OllamaConfiguration { Model = "model-x", Options = new OllamaGenerationOptions { NumCtx = 12345 } },
+ Limits = new LimitOptions { ContextSummaryRatio = 0.65 }
+ };
+ LocaleCatalog locale = LocaleCatalog.Load(Path.GetFullPath("config/locales"), "ja");
+
+ Agent.Core.Runtime.AgentRuntimeSettings settings = Program.CreateRuntimeSettings(configuration, "prompt", "ja", [], locale);
+
+ Assert.Equal(41, settings.MaxIterations);
+ Assert.Equal(4, settings.SameFailureLimit);
+ Assert.Equal(17, settings.MaxTasks);
+ Assert.Equal(12345, settings.NumCtx);
+ Assert.Equal(0.65, settings.ContextSummaryThreshold);
+ Assert.Equal("model-x", settings.Model);
+ }
+
+ [Fact]
+ public void Startup_errors_follow_the_cli_locale()
+ {
+ string message = Program.FormatStartupError(["--lang", "ja"], new CommandLineException("bad option"));
+ Assert.Contains("コマンドラインが不正です", message, StringComparison.Ordinal);
+ Assert.Contains("bad option", message, StringComparison.Ordinal);
+ }
+
+ [Fact]
public void SkillLoader_loads_standard_skill_directories_only()
{
using var directory = new TestDirectory();