lean-migrate / tests /test_verification_semantics.py
Hrushi's picture
Upload folder using huggingface_hub
8c75600 verified
from __future__ import annotations
from lean_migrate.env.tasks import get_task
from lean_migrate.env.verification_semantics import get_function_semantics
def test_verification_semantics_registry_covers_current_functions() -> None:
expected_function_names = {
"rbac_auth": {"findRole", "hasDirectPermission", "canAccess"},
"pricing_engine": {
"subtotal",
"taxRateBps",
"couponDiscount",
"loyaltyDiscount",
"finalPrice",
},
"payment_saga": {"transition", "runSaga", "isCharged"},
}
for task_id, function_names in expected_function_names.items():
task = get_task(task_id)
for function_name in function_names:
function_spec = task.get_function(function_name)
assert function_spec is not None
semantics = get_function_semantics(task_id, function_name)
assert callable(semantics.oracle)
assert callable(semantics.lean_value)
assert callable(semantics.lean_call)