Gyanateet Dutta
Fix Space loading: direct Streamlit, lazy imports, ReNova page, fix deps
9f8cf99
Raw
History Blame Contribute Delete
1.18 kB
"""Contract tests for qhybrid JSON schema version handling."""
import json
import pytest
from qhybrid_kernels import execute_quantum_circuit
from qhybrid_kernels.circuit import QHYBRID_PAYLOAD_VERSION
def test_execute_quantum_circuit_rejects_missing_schema_version():
payload = {
"n_qubits": 1,
"gates": [],
"name": "legacy_payload",
}
with pytest.raises(ValueError, match="Missing circuit schema_version"):
execute_quantum_circuit(json.dumps(payload))
def test_execute_quantum_circuit_rejects_unsupported_schema_version():
payload = {
"schema_version": QHYBRID_PAYLOAD_VERSION + 1,
"n_qubits": 1,
"gates": [],
"name": "future_payload",
}
with pytest.raises(ValueError, match="Unsupported circuit schema_version"):
execute_quantum_circuit(json.dumps(payload))
def test_execute_quantum_circuit_accepts_current_schema_version():
payload = {
"schema_version": QHYBRID_PAYLOAD_VERSION,
"n_qubits": 1,
"gates": [],
"name": "valid_payload",
}
result = execute_quantum_circuit(json.dumps(payload))
assert result.shape == (2, 2)