def test_delay(self): """Test converted qobj from Delay.""" instruction = Delay(10, DriveChannel(0)) qobj = PulseQobjInstruction(name='delay', ch='d0', t0=0, duration=10) converted_instruction = self.converter(qobj) self.assertTrue('delay' in qobj.to_dict().values()) self.assertEqual(converted_instruction.duration, instruction.duration) self.assertEqual(converted_instruction.instructions[0][-1], instruction)
def test_set_frequency(self): """Test converted qobj from FrameChangeInstruction.""" instruction = SetFrequency(8.0, DriveChannel(0)) qobj = PulseQobjInstruction(name='sf', ch='d0', t0=0, frequency=8.0) converted_instruction = self.converter(qobj) self.assertEqual(converted_instruction.timeslots, instruction.timeslots) self.assertEqual(converted_instruction.instructions[0][-1], instruction) self.assertTrue('frequency' in qobj.to_dict())
def test_shift_frequency(self): """Test converted qobj from ShiftFrequency.""" instruction = ShiftFrequency(8.0e9, DriveChannel(0)) qobj = PulseQobjInstruction(name='shiftf', ch='d0', t0=0, frequency=8.0) converted_instruction = self.converter(qobj) self.assertEqual(converted_instruction.start_time, 0) self.assertEqual(converted_instruction.duration, 0) self.assertEqual(converted_instruction.instructions[0][-1], instruction) self.assertTrue('frequency' in qobj.to_dict())
def test_set_frequency(self): """Test converted qobj from SetFrequency.""" instruction = SetFrequency(8.0e9, DriveChannel(0)) qobj = PulseQobjInstruction(name="setf", ch="d0", t0=0, frequency=8.0) converted_instruction = self.converter(qobj) self.assertEqual(converted_instruction.start_time, 0) self.assertEqual(converted_instruction.duration, 0) self.assertEqual(converted_instruction.instructions[0][-1], instruction) self.assertTrue("frequency" in qobj.to_dict())
def test_parameterized_set_frequency(self): """Test converted qobj from SetFrequency, when passing a parameterized frequency.""" qobj = PulseQobjInstruction(name='setf', ch='d0', t0=2, frequency='f') self.assertTrue('frequency' in qobj.to_dict()) converted_instruction = self.converter(qobj) self.assertIsInstance(converted_instruction, ParameterizedSchedule) evaluated_instruction = converted_instruction.bind_parameters(2.) instruction = SetFrequency(2.e9, DriveChannel(0)) self.assertEqual(evaluated_instruction.start_time, 2) self.assertEqual(evaluated_instruction.duration, 2) self.assertEqual(evaluated_instruction.instructions[0][-1], instruction)
def test_parameterized_shift_frequency(self): """Test converted qobj from ShiftFrequency, with a parameterized frequency.""" instruction = ShiftFrequency(8.0e9, DriveChannel(0)) qobj = PulseQobjInstruction(name='shiftf', ch='d0', t0=1, frequency='f / 1000') self.assertTrue('frequency' in qobj.to_dict()) converted_instruction = self.converter(qobj) self.assertIsInstance(converted_instruction, ParameterizedSchedule) evaluated_instruction = converted_instruction.bind_parameters(3.14) instruction = ShiftFrequency(3.14e6, DriveChannel(0)) self.assertEqual(evaluated_instruction.start_time, 1) self.assertEqual(evaluated_instruction.duration, 1) self.assertEqual(evaluated_instruction.instructions[0][-1], instruction)
def test_parameterized_set_frequency(self): """Test converted qobj from SetFrequency, when passing a parameterized frequency.""" qobj = PulseQobjInstruction(name="setf", ch="d0", t0=2, frequency="f") self.assertTrue("frequency" in qobj.to_dict()) converted_instruction = self.converter(qobj) self.assertIsInstance(converted_instruction, Schedule) bind_dict = {converted_instruction.get_parameters("f")[0]: 2.0} evaluated_instruction = converted_instruction.assign_parameters( bind_dict) instruction = SetFrequency(2.0e9, DriveChannel(0)) self.assertEqual(evaluated_instruction.start_time, 2) self.assertEqual(evaluated_instruction.duration, 2) self.assertEqual(evaluated_instruction.instructions[0][-1], instruction)
def test_parameterized_shift_frequency(self): """Test converted qobj from ShiftFrequency, with a parameterized frequency.""" instruction = ShiftFrequency(8.0e9, DriveChannel(0)) qobj = PulseQobjInstruction(name="shiftf", ch="d0", t0=1, frequency="f / 1000") self.assertTrue("frequency" in qobj.to_dict()) converted_instruction = self.converter(qobj) self.assertIsInstance(converted_instruction, Schedule) bind_dict = {converted_instruction.get_parameters("f")[0]: 3.14} evaluated_instruction = converted_instruction.assign_parameters( bind_dict) instruction = ShiftFrequency(3.14e6, DriveChannel(0)) self.assertEqual(evaluated_instruction.start_time, 1) self.assertEqual(evaluated_instruction.duration, 1) self.assertEqual(evaluated_instruction.instructions[0][-1], instruction)