File size: 987 Bytes
20c251e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | from __future__ import annotations
from dovla_cil.eval.lattice_eval import (
_empty_task_stats,
_finalize_task_stats,
_ndcg,
_validation_group_ids,
)
def test_lattice_ndcg_rewards_correct_order() -> None:
utilities = [2.0, 1.0, 0.0]
assert _ndcg([3.0, 2.0, 1.0], utilities) == 1.0
assert _ndcg([1.0, 2.0, 3.0], utilities) < 1.0
def test_lattice_validation_split_is_group_deterministic() -> None:
groups = [f"g{index}" for index in range(10)]
first = _validation_group_ids(groups, val_fraction=0.2, seed=7)
second = _validation_group_ids(groups, val_fraction=0.2, seed=7)
assert first == second
assert len(first) == 2
assert len(set(first)) == len(first)
def test_edge_metrics_are_undefined_without_comparable_pairs() -> None:
metrics = _finalize_task_stats(_empty_task_stats())
assert metrics["num_pairs"] == 0
assert metrics["pairwise_ranking_accuracy"] is None
assert metrics["potential_edge_mae"] is None
|