def test_qubits_with_instruction_gate(self): """Test `qubits_with_instruction`.""" sched = Schedule() inst_map = InstructionScheduleMap() inst_map.add(U1Gate(0), (0, ), sched) inst_map.add(U1Gate(0), (1, ), sched) inst_map.add(CXGate(), [0, 1], sched) self.assertEqual(inst_map.qubits_with_instruction(U1Gate(0)), [0, 1]) self.assertEqual(inst_map.qubits_with_instruction(CXGate()), [(0, 1)]) self.assertEqual(inst_map.qubits_with_instruction('none'), [])
def test_qubits_with_instruction(self): """Test `qubits_with_instruction`.""" sched = Schedule() inst_map = InstructionScheduleMap() inst_map.add('u1', (0, ), sched) inst_map.add('u1', (1, ), sched) inst_map.add('cx', [0, 1], sched) self.assertEqual(inst_map.qubits_with_instruction('u1'), [0, 1]) self.assertEqual(inst_map.qubits_with_instruction('cx'), [(0, 1)]) self.assertEqual(inst_map.qubits_with_instruction('none'), [])
def test_qubits_with_instruction(self): """Test `qubits_with_instruction`.""" sched = Schedule() inst_map = InstructionScheduleMap() inst_map.add("u1", (0, ), sched) inst_map.add("u1", (1, ), sched) inst_map.add("cx", [0, 1], sched) self.assertEqual(inst_map.qubits_with_instruction("u1"), [0, 1]) self.assertEqual(inst_map.qubits_with_instruction("cx"), [(0, 1)]) self.assertEqual(inst_map.qubits_with_instruction("none"), [])
def test_add_block(self): """Test add block, and that errors are raised when expected.""" sched = ScheduleBlock() sched.append(Play(Waveform(np.ones(5)), DriveChannel(0)), inplace=True) inst_map = InstructionScheduleMap() inst_map.add("u1", 1, sched) inst_map.add("u1", 0, sched) self.assertIn("u1", inst_map.instructions) self.assertEqual(inst_map.qubits_with_instruction("u1"), [0, 1]) self.assertTrue("u1" in inst_map.qubit_instructions(0))
def test_pop(self): """Test pop with default.""" sched = Schedule() inst_map = InstructionScheduleMap() inst_map.add('tmp', 100, sched) self.assertEqual(inst_map.pop('tmp', 100), sched) self.assertFalse(inst_map.has('tmp', 100)) self.assertEqual(inst_map.qubit_instructions(100), []) self.assertEqual(inst_map.qubits_with_instruction('tmp'), []) with self.assertRaises(PulseError): inst_map.pop('not_there', (0, ))
def test_add(self): """Test add, and that errors are raised when expected.""" sched = Schedule() sched.append(SamplePulse(np.ones(5))(DriveChannel(0))) inst_map = InstructionScheduleMap() inst_map.add('u1', 1, sched) inst_map.add('u1', 0, sched) self.assertIn('u1', inst_map.instructions) self.assertEqual(inst_map.qubits_with_instruction('u1'), [0, 1]) self.assertTrue('u1' in inst_map.qubit_instructions(0)) with self.assertRaises(PulseError): inst_map.add('u1', (), sched) with self.assertRaises(PulseError): inst_map.add('u1', 1, "not a schedule")
def test_add_gate(self): """Test add, and that errors are raised when expected.""" sched = Schedule() sched.append(Play(Waveform(np.ones(5)), DriveChannel(0))) inst_map = InstructionScheduleMap() inst_map.add(U1Gate(0), 1, sched) inst_map.add(U1Gate(0), 0, sched) self.assertIn("u1", inst_map.instructions) self.assertEqual(inst_map.qubits_with_instruction(U1Gate(0)), [0, 1]) self.assertTrue("u1" in inst_map.qubit_instructions(0)) with self.assertRaises(PulseError): inst_map.add(U1Gate(0), (), sched) with self.assertRaises(PulseError): inst_map.add(U1Gate(0), 1, "not a schedule")