Files
ClawdDotNet/tests/ClawdDotNet.Core.Tests/Tasks/TaskAssigneeTests.cs
T

28 lines
1.0 KiB
C#

using ClawdDotNet.Core.Tasks;
using Shouldly;
namespace ClawdDotNet.Core.Tests.Tasks;
/// <summary>
/// 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.
/// </summary>
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);
}