コード例 #1
0
    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'])
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    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'])
コード例 #5
0
 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()))