def test_align_sequential_with_barrier(self): """Test sequential alignment with a barrier.""" d0 = pulse.DriveChannel(0) d1 = pulse.DriveChannel(1) schedule = pulse.Schedule() schedule.insert(1, instructions.Delay(3, d0), inplace=True) schedule.append(directives.RelativeBarrier(d0, d1), inplace=True) schedule.insert(4, instructions.Delay(5, d1), inplace=True) schedule.insert(12, instructions.Delay(7, d0), inplace=True) schedule = transforms.align_sequential(schedule) reference = pulse.Schedule() reference.insert(0, instructions.Delay(3, d0), inplace=True) reference.insert(3, directives.RelativeBarrier(d0, d1), inplace=True) reference.insert(3, instructions.Delay(5, d1), inplace=True) reference.insert(8, instructions.Delay(7, d0), inplace=True) self.assertEqual(schedule, reference)
def test_align_sequential(self): """Test sequential alignment without a barrier.""" d0 = pulse.DriveChannel(0) d1 = pulse.DriveChannel(1) schedule = pulse.Schedule() schedule.insert(1, instructions.Delay(3, d0), inplace=True) schedule.insert(4, instructions.Delay(5, d1), inplace=True) schedule.insert(12, instructions.Delay(7, d0), inplace=True) schedule = transforms.align_sequential(schedule) reference = pulse.Schedule() # d0 reference.insert(0, instructions.Delay(3, d0), inplace=True) reference.insert(8, instructions.Delay(7, d0), inplace=True) # d1 reference.insert(3, instructions.Delay(5, d1), inplace=True) self.assertEqual(schedule, reference)