import unittest from guardrail_space.contract import SafetyContract class TestSafetyContract(unittest.TestCase): def test_pre_post_eval(self): c = SafetyContract( contract_id="test-001", pre_conditions=["state['speed'] <= 1.0"], post_conditions=["state['completed'] == True"], budgets={"time": 10.0, "energy": 100.0}, collision_rules=["state['distance_to_obstacle'] >= 0"], ) self.assertTrue(c.evaluate_pre({"speed": 0.5, "distance_to_obstacle": 5})) self.assertFalse(c.evaluate_pre({"speed": 2.0, "distance_to_obstacle": 5}))