def test_gen_iqx_latex_waveform_name_x90(self): """Test gen_iqx_latex_waveform_name with x90 waveform.""" iqx_pulse = pulse.Waveform(samples=[0, 0, 0, 0], name='X90p_d0_1234567') play = pulse.Play(iqx_pulse, pulse.DriveChannel(0)) inst_data = self.create_instruction(play, 0, 0, 0, 0.1) obj = generators.gen_iqx_latex_waveform_name(inst_data)[0] # type check self.assertEqual(type(obj), drawing_objects.TextData) # data check self.assertEqual(obj.channel, pulse.DriveChannel(0)) self.assertEqual(obj.text, 'X90p_d0_1234567') self.assertEqual(obj.latex, r'{\rm X}(\frac{\pi}{2})') # style check ref_style = { 'zorder': self.style['formatter.layer.annotate'], 'color': self.style['formatter.color.annotate'], 'size': self.style['formatter.text_size.annotate'], 'va': 'center', 'ha': 'center' } self.assertDictEqual(obj.styles, ref_style)
def test_gen_iqx_latex_waveform_name_x180(self): """Test gen_iqx_latex_waveform_name with x180 waveform.""" iqx_pulse = pulse.Waveform(samples=[0, 0, 0, 0], name='Xp_d0_1234567') play = pulse.Play(iqx_pulse, pulse.DriveChannel(0)) inst_data = self.create_instruction(play, 0, 0, 0, 0.1) obj = generators.gen_iqx_latex_waveform_name(inst_data)[0] # type check self.assertEqual(type(obj), drawing_objects.TextData) # data check self.assertEqual(obj.channel, pulse.DriveChannel(0)) self.assertEqual(obj.text, 'Xp_d0_1234567') self.assertEqual(obj.latex, r'{\rm X}(\pi)')
def test_gen_iqx_latex_waveform_name_compensation_tone(self): """Test gen_iqx_latex_waveform_name with CR compensation waveform.""" iqx_pulse = pulse.Waveform(samples=[0, 0, 0, 0], name='CR90p_d0_u0_1234567') play = pulse.Play(iqx_pulse, pulse.DriveChannel(0)) inst_data = self.create_instruction(play, 0, 0, 0, 0.1) obj = generators.gen_iqx_latex_waveform_name(inst_data)[0] # type check self.assertEqual(type(obj), drawing_objects.TextData) # data check self.assertEqual(obj.channel, pulse.DriveChannel(0)) self.assertEqual(obj.text, 'CR90p_d0_u0_1234567') self.assertEqual(obj.latex, r'\overline{\rm CR}(\frac{\pi}{4})')