← Source tree

test_policy.py

"""Regression checks for conservative promotion of model hints."""
import copy
import unittest
from audit_synthetic import run_audit
from demo import fixture
from reviewqueue import review


class TestPolicy(unittest.TestCase):
    def test_known_development_audit_remains_explicit_and_preserved(self):
        result = run_audit()
        self.assertEqual([g['model_flags'] for g in result['groups']], [0, 10, 0])
        self.assertEqual(result['preservation']['rows'], 40)

    def test_reference_metadata_exposes_policy(self):
        result = review(fixture())
        self.assertEqual(result['reference_models']['USD']['flag_policy'],
                         'model_outlier_and_outside_reference_support')
        self.assertEqual(len(result['reference_models']['USD']['feature_bounds']), 3)

    def test_low_density_interior_candidate_is_exposed_without_promotion(self):
        data = fixture()
        data['records'] = [copy.deepcopy(data['reference'][0])]
        row = review(data)['rows'][0]
        self.assertTrue(row['ml']['model_candidate'])
        self.assertFalse(row['ml']['outside_reference_support'])
        self.assertFalse(row['needs_review'])

    def test_negative_reference_context_supported(self):
        data = fixture()
        for row in data['reference']:
            row['amount'] = '-' + row['amount']
        data['records'] = [dict(record_id='001',currency='USD',amount='-119.00',quantity='1')]
        self.assertFalse(review(data)['rows'][0]['needs_review'])