using ClawdDotNet.Core.Tasks; using Shouldly; namespace ClawdDotNet.Core.Tests.Tasks; /// /// Der Assignee bestimmt, wie eine fällige Aufgabe zu einem Lauf wird (T7). Die Deutung /// muss eindeutig sein — davon hängt ab, ob ein Agent frisch oder mit Kontext läuft. /// public sealed class TaskAssigneeTests { [Theory] [InlineData("@human", TaskAssigneeKind.Human)] [InlineData("@new", TaskAssigneeKind.New)] [InlineData("@new:crawler", TaskAssigneeKind.New)] [InlineData("@crawler", TaskAssigneeKind.Agent)] public void Die_Art_wird_richtig_erkannt(string assignee, TaskAssigneeKind expected) => TaskAssignee.KindOf(assignee).ShouldBe(expected); [Theory] [InlineData("@crawler", "crawler")] [InlineData("@new:crawler", "crawler")] [InlineData("@new", "")] // frischer Lauf ohne benannten Agenten [InlineData("@human", "")] public void Die_Agent_Id_wird_richtig_herausgezogen(string assignee, string expected) => TaskAssignee.AgentId(assignee).ShouldBe(expected); }