Skip to content

ExperimentDefinition TCase,TOutput

NexusLabs.Foundry.Evaluation

NexusLabs.Foundry.Evaluation.Experiments

ExperimentDefinition<TCase,TOutput> Class

Defines a provider-neutral experiment's finite source and item task.

public sealed record ExperimentDefinition<TCase,TOutput> : System.IEquatable<NexusLabs.Foundry.Evaluation.Experiments.ExperimentDefinition<TCase, TOutput>>

Type parameters

TCase

The caller-owned case value type.

TOutput

The caller-owned output type.

Inheritance System.Object 🡒 ExperimentDefinition\<TCase,TOutput>

Implements System.IEquatable<NexusLabs.Foundry.Evaluation.Experiments.ExperimentDefinition<TCase,TOutput>>

Properties

ExperimentDefinition<TCase,TOutput>.CaseSource Property

Gets the finite case source.

public NexusLabs.Foundry.Evaluation.Experiments.IExperimentCaseSource<TCase> CaseSource { get; init; }

Property Value

NexusLabs.Foundry.Evaluation.Experiments.IExperimentCaseSource<TCase>

ExperimentDefinition<TCase,TOutput>.ItemEvaluator Property

Gets the optional evaluator invoked once after successful task execution.

public NexusLabs.Foundry.Evaluation.Experiments.ExperimentItemEvaluator<TCase,TOutput>? ItemEvaluator { get; init; }

Property Value

NexusLabs.Foundry.Evaluation.Experiments.ExperimentItemEvaluator<TCase,TOutput>

ExperimentDefinition<TCase,TOutput>.ItemScopes Property

Gets per-trial item-scope providers entered sequentially in registration order.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentItemScopeProvider<TCase,TOutput>> ItemScopes { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentItemScopeProvider<TCase,TOutput>>

ExperimentDefinition<TCase,TOutput>.Name Property

Gets the experiment name.

public string Name { get; init; }

Property Value

System.String

ExperimentDefinition<TCase,TOutput>.Policies Property

Gets policies invoked sequentially in registration order.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentRunPolicy<TCase,TOutput>> Policies { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentRunPolicy<TCase,TOutput>>

ExperimentDefinition<TCase,TOutput>.RunEvaluators Property

Gets run evaluators invoked sequentially in registration order.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentRunEvaluator<TCase,TOutput>> RunEvaluators { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentRunEvaluator<TCase,TOutput>>

ExperimentDefinition<TCase,TOutput>.Sinks Property

Gets final result sinks invoked sequentially in registration order.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentResultSink<TCase,TOutput>> Sinks { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<NexusLabs.Foundry.Evaluation.Experiments.IExperimentResultSink<TCase,TOutput>>

ExperimentDefinition<TCase,TOutput>.Task Property

Gets the task invoked for each case trial.

public NexusLabs.Foundry.Evaluation.Experiments.ExperimentTask<TCase,TOutput> Task { get; init; }

Property Value

NexusLabs.Foundry.Evaluation.Experiments.ExperimentTask<TCase,TOutput>