"""Verify the test-persona fixture package is valid and loadable."""

import json

from shared.package import load_package


def test_load_test_persona(examples_persona_root):
    m = load_package("test-persona")
    assert m.slug == "test-persona"
    assert m.display_name == "Test Persona"
    assert m.voice_policy == "generated"
    assert len(m.sources) == 1


def test_corpus_exists(test_persona_dir):
    corpus = test_persona_dir / "corpus"
    md_files = list(corpus.glob("*.md"))
    assert len(md_files) >= 1, "at least one corpus doc expected"


def test_holdout_disjoint_from_exemplars(test_persona_dir):
    """Holdout passages must not appear in exemplars.jsonl."""
    style = test_persona_dir / "style"
    holdout_texts = {
        json.loads(line)["text"]
        for line in (style / "holdout.jsonl").read_text().splitlines()
        if line.strip()
    }
    exemplar_texts = {
        json.loads(line)["text"]
        for line in (style / "exemplars.jsonl").read_text().splitlines()
        if line.strip()
    }
    overlap = holdout_texts & exemplar_texts
    assert not overlap, f"holdout ∩ exemplars must be ∅, found: {overlap}"
