mathcompose / tests /test_parse_vote.py
42e's picture
Upload folder using huggingface_hub
014b14c verified
Raw
History Blame Contribute Delete
824 Bytes
"""Maj@k index voting + solution-level p_correct."""
from mathcompose.eval.parse import first_error_index, majority_index, p_correct_from_samples, PARSE_FAIL
def test_first_error_index():
assert first_error_index(r"\boxed{4}") == 4
assert first_error_index(r"\boxed{-1}") == -1
assert first_error_index("junk") == PARSE_FAIL
def test_majority_index_drops_failures_and_breaks_ties_low():
assert majority_index([r"\boxed{2}", r"\boxed{2}", r"\boxed{3}", "junk"]) == 2
# tie between 2 and 3 -> earliest (2)
assert majority_index([r"\boxed{2}", r"\boxed{3}"]) == 2
assert majority_index(["junk", "more junk"]) == PARSE_FAIL
def test_p_correct():
assert p_correct_from_samples([r"\boxed{-1}", r"\boxed{-1}", r"\boxed{4}", r"\boxed{-1}"]) == 0.75
assert p_correct_from_samples([]) == 0.0