def test_pop(self): """Test pop with default.""" sched = Schedule() sched.append(SamplePulse(np.ones(5))(self.config.drive(0))) cmd_def = CmdDef() cmd_def.add('tmp', 0, sched) cmd_def.pop('tmp', 0) self.assertFalse(cmd_def.has('tmp', 0)) with self.assertRaises(PulseError): cmd_def.pop('not_there', (0, ))
def test_parameterized_schedule(self): """Test building parameterized schedule.""" cmd_def = CmdDef() converter = QobjToInstructionConverter([]) qobj = PulseQobjInstruction(name='pv', ch='u1', t0=10, val='P2*cos(np.pi*P1)') converted_instruction = converter(qobj) cmd_def.add('pv_test', 0, converted_instruction) self.assertEqual(cmd_def.get_parameters('pv_test', 0), ('P1', 'P2')) sched = cmd_def.get('pv_test', 0, 0, P2=-1) self.assertEqual(sched.instructions[0][-1].command.value, -1) with self.assertRaises(PulseError): cmd_def.get('pv_test', 0, 0, P1=-1) with self.assertRaises(PulseError): cmd_def.get('pv_test', 0, P1=1, P2=2, P3=3) sched = cmd_def.pop('pv_test', 0, 0, P2=-1) self.assertEqual(sched.instructions[0][-1].command.value, -1) self.assertFalse(cmd_def.has('pv_test', 0))