Flamehaven's picture
fix(tests): Correct logic in test_packer and fix mock in test_rerank
ef3adba
Raw
History Blame Contribute Delete
580 Bytes
from crom_efficientllm.budget_packer.packer import budget_pack, Chunk
def test_budget_pack_respects_budget():
chunks = [Chunk("a", 1.0, 60), Chunk("b", 0.9, 50), Chunk("c", 0.5, 20)]
sel = budget_pack(chunks, budget=70)
assert sum(c.tokens for c in sel) <= 70
def test_budget_pack_sorting_stable():
chunks = [
{"text": "x", "score": 0.9, "tokens": 30},
{"text": "y", "score": 0.9, "tokens": 20},
{"text": "z", "score": 0.8, "tokens": 10},
]
sel = budget_pack(chunks, budget=60)
assert [c.text for c in sel] == ["y", "x", "z"]