def test_ir_instruction_level(testclass, subroutine_name, irclass, irsubclasses, kwargs): expected = irclass(**create_valid_ir_input(irsubclasses)) instruction = Instruction( **create_valid_instruction_input(testclass, irsubclasses, **kwargs)) actual = instruction.to_ir() assert actual == expected
def test_to_ir(): expected_target = QubitSet([0, 1]) expected_ir = "foo bar value" class FooGate(Gate): def __init__(self): super().__init__(qubit_count=2, ascii_symbols=["foo", "bar"]) def to_ir(self, target): assert target == expected_target return expected_ir instr = Instruction(FooGate(), expected_target) assert instr.to_ir() == expected_ir
def test_to_ir(): expected_target = QubitSet([0, 1]) expected_ir = "foo bar value" expected_ir_type = IRType.OPENQASM expected_serialization_properties = OpenQASMSerializationProperties( qubit_reference_type=QubitReferenceType.PHYSICAL) class FooGate(Gate): def __init__(self): super().__init__(qubit_count=2, ascii_symbols=["foo", "bar"]) def to_ir(self, target, ir_type, serialization_properties): assert target == expected_target assert ir_type == expected_ir_type assert serialization_properties == expected_serialization_properties return expected_ir instr = Instruction(FooGate(), expected_target) assert instr.to_ir(expected_ir_type, expected_serialization_properties) == expected_ir