28 lines
770 B
Python
28 lines
770 B
Python
import sys
|
|||
|
|
import unittest
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
|
||
|
|
MODULE_DIR = Path(__file__).resolve().parents[1]
|
||
|
|
sys.path.insert(0, str(MODULE_DIR))
|
||
|
|
|
||
|
|
import eval as purpose_eval
|
||
|
|
|
||
|
|
|
||
|
|
class TierDriftTests(unittest.TestCase):
|
||
|
|
def test_current_routing_matrix_bounds_every_label_pair(self):
|
||
|
|
records = [{"prompt": f"prompt {index}"} for index in range(8 * 8)]
|
||
|
|
actual = []
|
||
|
|
predicted = []
|
||
|
|
for expected in range(8):
|
||
|
|
for got in range(8):
|
||
|
|
actual.append(expected)
|
||
|
|
predicted.append(got)
|
||
|
|
report = purpose_eval.routing_tier_drift(records, actual, predicted)
|
||
|
|
self.assertTrue(report["passed"])
|
||
|
|
self.assertLessEqual(report["maximumTierDrift"], 1)
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
unittest.main()
|