def test_create_pulse_group_invalid_instruction(self) -> None: name = 'foo_group' sample_rate = 10 block = DummyInstructionBlock() block.add_instruction_goto(DummyInstructionBlock()) pci = PulseControlInterface(sample_rate) with self.assertRaises(Exception): pci.create_pulse_group(block.compile_sequence(), name=name)
def test_create_pulse_group_invalid_instruction(self) -> None: name = 'foo_group' sample_rate = 10 block = DummyInstructionBlock() block.add_instruction_goto(block.create_embedded_block()) pci = PulseControlInterface(sample_rate) with self.assertRaises(Exception): pci.create_pulse_group(block.compile_sequence(), name=name)
def test_create_pulse_group(self) -> None: name = 'foo_group' sample_rate = 10 expected_samples_wf1 = numpy.random.rand(11) expected_samples_wf2 = numpy.random.rand(11) block = DummyInstructionBlock() wf1a = DummyWaveform(duration=1, sample_output=expected_samples_wf1) wf1b = DummyWaveform(duration=1, sample_output=expected_samples_wf1) wf2 = DummyWaveform(duration=1, sample_output=expected_samples_wf2) block.add_instruction_exec(wf1a) block.add_instruction_exec(wf1b) block.add_instruction_exec(wf2) block.add_instruction_exec(wf1a) registering_function = lambda x: x['data'] pci = PulseControlInterface(sample_rate, time_scaling=1) (result, _) = pci.create_pulse_group(block, name=name) expected_result = dict( name=name, nrep=[2, 1, 1], pulses=[0, 1, 0], #pulses=[registering_function(pci.create_waveform_struct(wf1a, name='')), # registering_function(pci.create_waveform_struct(wf2, name='')), # registering_function(pci.create_waveform_struct(wf1a, name=''))], chan=1, ctrl='notrig') self.assertEqual(expected_result, result)
def test_create_pulse_group(self) -> None: name = 'foo_group' sample_rate = 10 expected_samples_wf1 = numpy.random.rand(11) expected_samples_wf2 = numpy.random.rand(11) block = DummyInstructionBlock() wf1a = DummyWaveform(duration=1, sample_output=expected_samples_wf1) wf1b = DummyWaveform(duration=1, sample_output=expected_samples_wf1) wf2 = DummyWaveform(duration=1, sample_output=expected_samples_wf2) block.add_instruction_exec(wf1a) block.add_instruction_exec(wf1b) block.add_instruction_exec(wf2) block.add_instruction_exec(wf1a) registering_function = lambda x: x['data'] pci = PulseControlInterface(sample_rate, time_scaling=1) (result, _) = pci.create_pulse_group(block.compile_sequence(), name=name) expected_result = dict( name=name, nrep=[2, 1, 1], pulses=[0, 1, 0], #pulses=[registering_function(pci.create_waveform_struct(wf1a, name='')), # registering_function(pci.create_waveform_struct(wf2, name='')), # registering_function(pci.create_waveform_struct(wf1a, name=''))], chan=1, ctrl='notrig' ) self.assertEqual(expected_result, result)
def test_create_pulse_group_empty(self) -> None: name = 'foo_group' sample_rate = 10 block = DummyInstructionBlock() pci = PulseControlInterface(sample_rate) (result, _) = pci.create_pulse_group(block, name=name) expected_result = dict(name=name, nrep=[], pulses=[], chan=1, ctrl='notrig') self.assertEqual(expected_result, result)
def test_create_pulse_group_empty(self) -> None: name = 'foo_group' sample_rate = 10 block = DummyInstructionBlock() pci = PulseControlInterface(sample_rate) (result, _) = pci.create_pulse_group(block.compile_sequence(), name=name) expected_result = dict( name=name, nrep=[], pulses=[], chan=1, ctrl='notrig' ) self.assertEqual(expected_result, result)