Skip to content

Commit dad1ecc

Browse files
verultrht
authored andcommitted
Gateset: fix invalid repr when gateset is empty (quantumlib#5322)
Fixes quantumlib#5197 @tanujkhattar
1 parent e6179b4 commit dad1ecc

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

cirq-core/cirq/ops/gateset.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -525,9 +525,10 @@ def _value_equality_values_(self) -> Any:
525525

526526
def __repr__(self) -> str:
527527
name_str = f'name = "{self.name}", ' if self.name is not None else ''
528+
gates_str = f'{self._gates_repr_str}, ' if len(self._gates_repr_str) > 0 else ''
528529
return (
529530
f'cirq.Gateset('
530-
f'{self._gates_repr_str}, '
531+
f'{gates_str}'
531532
f'{name_str}'
532533
f'unroll_circuit_op = {self._unroll_circuit_op})'
533534
)

cirq-core/cirq/ops/gateset_test.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -255,11 +255,12 @@ def test_gateset_init():
255255
)
256256

257257

258-
def test_gateset_repr_and_str():
259-
cirq.testing.assert_equivalent_repr(gateset)
260-
assert gateset.name in str(gateset)
261-
for gate_family in gateset.gates:
262-
assert str(gate_family) in str(gateset)
258+
@pytest.mark.parametrize('g', [gateset, cirq.Gateset(name='empty gateset')])
259+
def test_gateset_repr_and_str(g):
260+
cirq.testing.assert_equivalent_repr(g)
261+
assert g.name in str(g)
262+
for gate_family in g.gates:
263+
assert str(gate_family) in str(g)
263264

264265

265266
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)