diff --git a/src/openfermion/testing/wrapped.py b/src/openfermion/testing/wrapped.py index 27172a1fb..21ccbbcd3 100644 --- a/src/openfermion/testing/wrapped.py +++ b/src/openfermion/testing/wrapped.py @@ -16,10 +16,10 @@ import cirq -_setup_code = ('import cirq\n' - 'import numpy as np\n' - 'import sympy\n' - 'import openfermion\n') +_setup_code = ("import cirq\n" + "import numpy as np\n" + "import sympy\n" + "import openfermion\n") def assert_equivalent_repr(value: Any, *, @@ -39,19 +39,33 @@ def assert_implements_consistent_protocols( val: Any, *, exponents: Sequence[Any] = (0, 1, -1, 0.5, 0.25, -0.5, 0.1, - sympy.Symbol('s')), + sympy.Symbol("s")), qubit_count: Optional[int] = None, ignoring_global_phase: bool = False, setup_code: str = _setup_code, global_vals: Optional[Dict[str, Any]] = None, local_vals: Optional[Dict[str, Any]] = None) -> None: """Checks that a value is internally consistent and has a good __repr__.""" - - cirq.testing.assert_implements_consistent_protocols( - val, - exponents=exponents, - qubit_count=qubit_count, - ignoring_global_phase=ignoring_global_phase, - setup_code=setup_code, - global_vals=global_vals, - local_vals=local_vals) + try: + # Cirq 0.14 + cirq.testing.assert_implements_consistent_protocols( + val, + exponents=exponents, + qubit_count=qubit_count, + ignoring_global_phase=ignoring_global_phase, + ignore_decompose_to_default_gateset=True, + setup_code=setup_code, + global_vals=global_vals, + local_vals=local_vals, + ) + except TypeError: # coverage: ignore + # Cirq 0.12 + cirq.testing.assert_implements_consistent_protocols( # coverage: ignore + val, # coverage: ignore + exponents=exponents, # coverage: ignore + qubit_count=qubit_count, # coverage: ignore + ignoring_global_phase=ignoring_global_phase, # coverage: ignore + setup_code=setup_code, # coverage: ignore + global_vals=global_vals, # coverage: ignore + local_vals=local_vals, # coverage: ignore + ) # coverage: ignore