@@ -439,24 +439,32 @@ def _get_valid_pauli_proto_pairs(qubit_type='grid'):
439
439
return pairs
440
440
441
441
442
- def _get_valid_projector_proto_pairs ():
442
+ def _get_valid_projector_proto_pairs (qubit_type = 'grid' ):
443
443
"""Generate valid projectorsum proto pairs."""
444
444
q0 = cirq .GridQubit (0 , 0 )
445
445
q1 = cirq .GridQubit (1 , 0 )
446
+ q0_str = '0_0'
447
+ q1_str = '1_0'
448
+
449
+ if qubit_type == 'line' :
450
+ q0 = cirq .LineQubit (0 )
451
+ q1 = cirq .LineQubit (1 )
452
+ q0_str = '0'
453
+ q1_str = '1'
446
454
447
455
pairs = [
448
456
(cirq .ProjectorSum .from_projector_strings (
449
457
cirq .ProjectorString (projector_dict = {q0 : 0 })),
450
- _build_projector_proto ([1.0 ], [[0 ]], [['0_0' ]])),
458
+ _build_projector_proto ([1.0 ], [[0 ]], [[q0_str ]])),
451
459
(cirq .ProjectorSum .from_projector_strings (
452
460
cirq .ProjectorString (projector_dict = {q0 : 0 }, coefficient = 0.125j )),
453
- _build_projector_proto ([0.125j ], [[0 ]], [['0_0' ]])),
461
+ _build_projector_proto ([0.125j ], [[0 ]], [[q0_str ]])),
454
462
(cirq .ProjectorSum .from_projector_strings ([
455
463
cirq .ProjectorString (projector_dict = {
456
464
q0 : 0 ,
457
465
q1 : 1
458
466
}),
459
- ]), _build_projector_proto ([1.0 ], [[0 , 1 ]], [['0_0' , '1_0' ]])),
467
+ ]), _build_projector_proto ([1.0 ], [[0 , 1 ]], [[q0_str , q1_str ]])),
460
468
]
461
469
462
470
return pairs
@@ -779,26 +787,32 @@ def test_serialize_projectorsum_invalid(self):
779
787
with self .assertRaises (ValueError ):
780
788
serializer .serialize_projectorsum (a )
781
789
782
- @parameterized .parameters ([{
783
- 'sum_proto_pair' : v
784
- } for v in _get_valid_projector_proto_pairs ()])
790
+ @parameterized .parameters (
791
+ [{
792
+ 'sum_proto_pair' : v
793
+ } for v in _get_valid_projector_proto_pairs (qubit_type = 'grid' ) +
794
+ _get_valid_projector_proto_pairs (qubit_type = 'line' )])
785
795
def test_serialize_projectorsum_simple (self , sum_proto_pair ):
786
796
"""Ensure serialization is correct."""
787
797
self .assertProtoEquals (
788
798
sum_proto_pair [1 ],
789
799
serializer .serialize_projectorsum (sum_proto_pair [0 ]))
790
800
791
- @parameterized .parameters ([{
792
- 'sum_proto_pair' : v
793
- } for v in _get_valid_projector_proto_pairs ()])
801
+ @parameterized .parameters (
802
+ [{
803
+ 'sum_proto_pair' : v
804
+ } for v in _get_valid_projector_proto_pairs (qubit_type = 'grid' ) +
805
+ _get_valid_projector_proto_pairs (qubit_type = 'line' )])
794
806
def test_deserialize_projectorsum_simple (self , sum_proto_pair ):
795
807
"""Ensure deserialization is correct."""
796
808
self .assertEqual (serializer .deserialize_projectorsum (sum_proto_pair [1 ]),
797
809
sum_proto_pair [0 ])
798
810
799
- @parameterized .parameters ([{
800
- 'sum_proto_pair' : v
801
- } for v in _get_valid_projector_proto_pairs ()])
811
+ @parameterized .parameters (
812
+ [{
813
+ 'sum_proto_pair' : v
814
+ } for v in _get_valid_projector_proto_pairs (qubit_type = 'grid' ) +
815
+ _get_valid_projector_proto_pairs (qubit_type = 'line' )])
802
816
def test_serialize_deserialize_projectorsum_consistency (
803
817
self , sum_proto_pair ):
804
818
"""Serialize and deserialize and ensure nothing changed."""
0 commit comments