|
11 | 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12 | 12 | # See the License for the specific language governing permissions and
|
13 | 13 | # limitations under the License.
|
14 |
| - |
| 14 | +import os |
15 | 15 | from typing import Dict
|
| 16 | +from unittest import mock |
16 | 17 | import numpy as np
|
17 | 18 | import pytest
|
18 | 19 | import sympy
|
@@ -355,7 +356,8 @@ def test_deserialize_circuit():
|
355 | 356 | assert cg.XMON.deserialize(serialized) == circuit
|
356 | 357 |
|
357 | 358 |
|
358 |
| -def test_deserialize_schedule(): |
| 359 | +@mock.patch.dict(os.environ, clear='CIRQ_TESTING') |
| 360 | +def test_deserialize_schedule_device_deprecated(): |
359 | 361 | q0 = cirq.GridQubit(4, 4)
|
360 | 362 | q1 = cirq.GridQubit(4, 5)
|
361 | 363 | circuit = cirq.Circuit(
|
@@ -384,6 +386,33 @@ def test_deserialize_schedule():
|
384 | 386 | assert cg.XMON.deserialize(serialized, cg.Bristlecone) == circuit
|
385 | 387 |
|
386 | 388 |
|
| 389 | +def test_deserialize_schedule(): |
| 390 | + q0 = cirq.GridQubit(4, 4) |
| 391 | + q1 = cirq.GridQubit(4, 5) |
| 392 | + circuit = cirq.Circuit(cirq.CZ(q0, q1), cirq.X(q0), cirq.Z(q1), cirq.measure(q0, key='a')) |
| 393 | + serialized = v2.program_pb2.Program( |
| 394 | + language=v2.program_pb2.Language(gate_set='xmon'), |
| 395 | + schedule=v2.program_pb2.Schedule( |
| 396 | + scheduled_operations=[ |
| 397 | + v2.program_pb2.ScheduledOperation( |
| 398 | + operation=cg.XMON.serialize_op(cirq.CZ(q0, q1)), start_time_picos=0 |
| 399 | + ), |
| 400 | + v2.program_pb2.ScheduledOperation( |
| 401 | + operation=cg.XMON.serialize_op(cirq.X(q0)), start_time_picos=200000 |
| 402 | + ), |
| 403 | + v2.program_pb2.ScheduledOperation( |
| 404 | + operation=cg.XMON.serialize_op(cirq.Z(q1)), start_time_picos=200000 |
| 405 | + ), |
| 406 | + v2.program_pb2.ScheduledOperation( |
| 407 | + operation=cg.XMON.serialize_op(cirq.measure(q0, key='a')), |
| 408 | + start_time_picos=400000, |
| 409 | + ), |
| 410 | + ] |
| 411 | + ), |
| 412 | + ) |
| 413 | + assert cg.XMON.deserialize(serialized) == circuit |
| 414 | + |
| 415 | + |
387 | 416 | def test_serialize_deserialize_syc():
|
388 | 417 | proto = op_proto({'gate': {'id': 'syc'}, 'args': {}, 'qubits': [{'id': '1_2'}, {'id': '1_3'}]})
|
389 | 418 |
|
|
0 commit comments