@@ -239,6 +239,39 @@ def test_get_memory_ancilla_qubits(
239239 assert len (memory ) == shots
240240
241241
242+ @pytest .mark .parametrize (
243+ ("clbits" , "flip" , "measure" , "expected" ),
244+ [
245+ (5 , [1 ], [0 , 1 , 2 , 3 , 4 ], "00010" ),
246+ (3 , [1 ], [0 , 1 , 2 ], "010" ),
247+ (2 , [2 , 4 ], [3 , 4 ], "10" ),
248+ (3 , [2 , 3 ], [1 , 2 , 3 ], "110" ),
249+ (3 , [2 , 4 ], [0 , 2 , 4 ], "110" ),
250+ ],
251+ )
252+ def test_memory_ignores_unmeasured_qubits (
253+ clbits : int ,
254+ flip : list [int ],
255+ measure : list [int ],
256+ expected : str ,
257+ any_offline_simulator_no_noise : AnyAQTResource ,
258+ ) -> None :
259+ """Regression test: memory should only contain measured classical bits."""
260+ qc = QuantumCircuit (5 , clbits )
261+ for i in flip :
262+ qc .x (i )
263+ qc .measure (measure , range (clbits ))
264+
265+ job = any_offline_simulator_no_noise .run (
266+ qiskit .transpile (qc , any_offline_simulator_no_noise ), shots = 2 , memory = True
267+ )
268+
269+ memory = job .result ().get_memory ()
270+
271+ assert set (memory ) == {expected }
272+ assert len (memory ) == 2
273+
274+
242275@pytest .mark .parametrize ("shots" , [123 ])
243276def test_get_memory_bit_ordering (
244277 shots : int , any_offline_simulator_no_noise : AnyAQTResource
0 commit comments