Skip to content

EvalCase

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

A single test case inside an EvalSuite.

public sealed record EvalCase : IEquatable<EvalCase>

objectEvalCase

IEquatable<EvalCase>

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

public EvalCase()

Text given to the model as extra context.

public string? Context { get; init; }

string?

The expected output. Referenced by the containsExpected check.

public string? ExpectedOutput { get; init; }

string?

The tool names looked up by the toolCalled check. An empty list does not mean the check accepts any tool call — the check is still defined separately in the suite’s checks field.

public IReadOnlyList<string> ExpectedTools { get; init; }

IReadOnlyList<string>

The case identifier.

public Guid Id { get; init; }

Guid

The promotion time. null when hand-written.

public DateTimeOffset? PromotedAt { get; init; }

DateTimeOffset?

The query text sent to the agent.

public required string Query { get; init; }

string

The sequence number within the suite (starts at 0).

public required int Seq { get; init; }

int

The reason for promotion. null when hand-written.

public EvalCaseSource? SourceKind { get; init; }

EvalCaseSource?

The run the case was generated from. null when hand-written.

public Guid? SourceRunId { get; init; }

Guid?

The identifier of the suite this case belongs to.

public required Guid SuiteId { get; init; }

Guid

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(EvalCase? other)

other EvalCase?

bool

public override int GetHashCode()

int

public override string ToString()

string

public static bool operator ==(EvalCase? left, EvalCase? right)

left EvalCase?

right EvalCase?

bool

public static bool operator !=(EvalCase? left, EvalCase? right)

left EvalCase?

right EvalCase?

bool