コード例 #1
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"])