using KArtSell.Modules.ModelOperations.FeedbackLoop;

namespace KArtSell.ModelOperations.UnitTests;

public sealed class ModelImprovementHypothesisTests
{
    [Fact]
    public void Decision_required_and_missing_counter_evidence_block_experiment()
    {
        var hypothesis = new ModelImprovementHypothesis(
            Guid.NewGuid(), "KR-EQUITY", "model-1", "false exit increased", "review floor calibration",
            "reject when OOS utility does not improve under double cost",
            [new(EvidenceClassification.DecisionRequired, "DEC-012", "latest PIT source unresolved", "h1")],
            [], "Quant Lead", DateTimeOffset.UtcNow.AddDays(30));

        var errors = hypothesis.Validate(DateTimeOffset.UtcNow);
        Assert.Contains("COUNTER_EVIDENCE_REQUIRED", errors);
        Assert.Contains("DECISION_REQUIRED_BLOCKS_EXPERIMENT", errors);
    }
}
