28 lines
1.0 KiB
C#
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);
|
|
}
|