using ClawdDotNet.Core.Tasks; using Shouldly; namespace ClawdDotNet.Core.Tests.Tasks; /// /// The assignee determines how a due task becomes a run (T7). The interpretation /// must be unambiguous — whether an agent runs fresh or with context depends on it. /// public sealed class TaskAssigneeTests { [Theory] [InlineData("@human", TaskAssigneeKind.Human)] [InlineData("@new", TaskAssigneeKind.New)] [InlineData("@new:crawler", TaskAssigneeKind.New)] [InlineData("@crawler", TaskAssigneeKind.Agent)] public void The_kind_is_recognised_correctly(string assignee, TaskAssigneeKind expected) => TaskAssignee.KindOf(assignee).ShouldBe(expected); [Theory] [InlineData("@crawler", "crawler")] [InlineData("@new:crawler", "crawler")] [InlineData("@new", "")] // fresh run without a named agent [InlineData("@human", "")] public void The_agent_id_is_extracted_correctly(string assignee, string expected) => TaskAssignee.AgentId(assignee).ShouldBe(expected); }