def test_serialization_and_deserialization_combined(self) -> None: table_foo = TablePulseTemplate( identifier='foo', entries={'default': [('hugo', 2), ('albert', 'voltage')]}, parameter_constraints=['albert<9.1']) table = TablePulseTemplate({'default': [('t', 0)]}) foo_mappings = dict(hugo='ilse', albert='albert', voltage='voltage') sequence = SequencePulseTemplate( (table_foo, foo_mappings, dict()), (table, dict(t=0), dict()), external_parameters=['ilse', 'albert', 'voltage'], identifier=None) storage = DummyStorageBackend() serializer = Serializer(storage) serializer.serialize(sequence) serialized_foo = storage.stored_items['foo'] serialized_sequence = storage.stored_items['main'] deserialized_sequence = serializer.deserialize('main') storage.stored_items = dict() serializer.serialize(deserialized_sequence) self.assertEqual(serialized_foo, storage.stored_items['foo']) self.assertEqual(serialized_sequence, storage.stored_items['main'])
def test_serializer_integration(self): serializer = Serializer(DummyStorageBackend()) serializer.serialize(self.template) template = serializer.deserialize('foo') self.assertIsInstance(template, TablePulseTemplate) self.assertEqual(template.entries, self.template.entries) self.assertEqual(template.measurement_declarations, self.template.measurement_declarations) self.assertEqual(template.parameter_constraints, self.template.parameter_constraints)
def test_serializer_integration(self): before = FunctionPulseTemplate(expression=self.s, duration_expression=self.s2, channel='A', measurements=self.meas_list, parameter_constraints=self.constraints, identifier='my_tpt') serializer = Serializer(DummyStorageBackend()) serializer.serialize(before) after = serializer.deserialize('my_tpt') self.assertIsInstance(after, FunctionPulseTemplate) self.assertEqual(before.expression, after.expression) self.assertEqual(before.duration, after.duration) self.assertEqual(before.defined_channels, after.defined_channels) self.assertEqual(before.measurement_declarations, after.measurement_declarations) self.assertEqual(before.parameter_constraints, after.parameter_constraints)
def test_serialization_and_deserialization_combined(self) -> None: table_foo = TablePulseTemplate(identifier='foo') table_foo.add_entry('hugo', 2) table_foo.add_entry(ParameterDeclaration('albert', max=9.1), 'voltage') table = TablePulseTemplate(measurement=True) foo_mappings = dict(hugo='ilse', albert='albert', voltage='voltage') sequence = SequencePulseTemplate([(table_foo, foo_mappings), (table, {})], ['ilse', 'albert', 'voltage'], identifier=None) storage = DummyStorageBackend() serializer = Serializer(storage) serializer.serialize(sequence) serialized_foo = storage.stored_items['foo'] serialized_sequence = storage.stored_items['main'] deserialized_sequence = serializer.deserialize('main') storage.stored_items = dict() serializer.serialize(deserialized_sequence) self.assertEqual(serialized_foo, storage.stored_items['foo']) self.assertEqual(serialized_sequence, storage.stored_items['main'])
def setUp(self) -> None: self.backend = DummyStorageBackend() self.serializer = Serializer(self.backend) self.deserialization_data = dict( data='THIS IS DARTAA!', type=self.serializer.get_type_identifier(DummySerializable()))