Esempio n. 1
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))
Esempio n. 2
0
    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, ))
Esempio n. 3
0
 def test_init(self):
     """Test `init`, `has`."""
     sched = Schedule()
     sched.append(SamplePulse(np.ones(5))(self.config.drive(0)))
     cmd_def = CmdDef({('tmp', 0): sched})
     self.assertTrue(cmd_def.has('tmp', 0))