def test_has(self): """Test `has` and `assert_has`.""" sched = Schedule() inst_map = InstructionScheduleMap() inst_map.add('u1', (0,), sched) inst_map.add('cx', [0, 1], sched) self.assertTrue(inst_map.has('u1', [0])) self.assertTrue(inst_map.has('cx', (0, 1))) with self.assertRaises(PulseError): inst_map.assert_has('dne', [0]) with self.assertRaises(PulseError): inst_map.assert_has('cx', 100)
def test_remove(self): """Test removing a defined operation and removing an undefined operation.""" sched = Schedule() inst_map = InstructionScheduleMap() inst_map.add('tmp', 0, sched) inst_map.remove('tmp', 0) self.assertFalse(inst_map.has('tmp', 0)) with self.assertRaises(PulseError): inst_map.remove('not_there', (0, )) self.assertFalse('tmp' 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, ))