def test_get_serialization_data(self) -> None:
        dummy1 = DummyPulseTemplate()
        dummy2 = DummyPulseTemplate()

        sequence = SequencePulseTemplate(dummy1,
                                         dummy2,
                                         parameter_constraints=['a<b'])
        serializer = DummySerializer(serialize_callback=lambda x: str(x))

        expected_data = dict(
            subtemplates=[str(dummy1), str(dummy2)],
            parameter_constraints=[ParameterConstraint('a<b')])
        data = sequence.get_serialization_data(serializer)
        self.assertEqual(expected_data, data)
    def test_get_serialization_data(self) -> None:
        sequence = SequencePulseTemplate([(self.table_foo, self.foo_mappings), (self.table, {})],
                                         ['ilse', 'albert', 'voltage'],
                                         identifier='foo')

        expected_data = dict(
            type=self.serializer.get_type_identifier(sequence),
            external_parameters=['albert', 'ilse', 'voltage'],
            is_interruptable=True,
            subtemplates = [
                dict(template=str(id(self.table_foo)), mappings=self.foo_mappings),
                dict(template=str(id(self.table)), mappings=dict())
            ]
        )
        data = sequence.get_serialization_data(self.serializer)
        self.assertEqual(expected_data, data)
 def test_get_serialization_data(self) -> None:
     serializer = DummySerializer(serialize_callback=lambda x: str(x))
     foo_mappings = {k: Expression(v) for k, v in self.foo_mappings.items()}
     sequence = SequencePulseTemplate([(self.table_foo, self.foo_mappings),
                                       (self.table, {})],
                                      ['ilse', 'albert', 'voltage'],
                                      identifier='foo')
     expected_data = dict(
         type=serializer.get_type_identifier(sequence),
         external_parameters=['albert', 'ilse', 'voltage'],
         is_interruptable=True,
         subtemplates=[
             dict(template=str(self.table_foo),
                  mappings={k: str(v)
                            for k, v in foo_mappings.items()}),
             dict(template=str(self.table), mappings=dict())
         ])
     data = sequence.get_serialization_data(serializer)
     self.assertEqual(expected_data, data)