from edgemind import safety def test_evaluate_predicate_basic_true(): state = {"battery": 50, "dist": 3} assert safety.evaluate_predicate("battery > 20 and dist < 5", state) is True def test_evaluate_predicate_basic_false(): state = {"battery": 10, "dist": 10} assert safety.evaluate_predicate("battery > 20 or dist < 5", state) is False def test_evaluate_predicate_unknown_name(): state = {"battery": 50} try: safety.evaluate_predicate("battery > 20 and foo < 5", state) assert False, "Expected UnsafeExpression for unknown name" except safety.UnsafeExpression: pass def test_evaluate_predicate_malicious_code(): state = {"battery": 50} # Attempt to call builtins or import should be rejected try: safety.evaluate_predicate("__import__('os').system('echo hi') == 0", state) assert False, "Expected UnsafeExpression for malicious code" except safety.UnsafeExpression: pass def test_check_contracts_aggregates_results(): contracts = { "c1": {"predicate": "battery > 20", "fail_safe": "halt"}, "c2": {"predicate": "battery > 80", "fail_safe": "safe-mode"}, } state = {"battery": 50} results = dict((cid, (passed, fs)) for cid, passed, fs in safety.check_contracts(contracts, state)) assert results["c1"][0] is True and results["c1"][1] == "halt" assert results["c2"][0] is False and results["c2"][1] == "safe-mode"