def test_deserialize(self) -> None: basic_data = dict(duration_expression=str(self.s2), expression=str(self.s), measurement=False, identifier='hugo') serializer = DummySerializer(serialize_callback=lambda x: str(x)) serializer.subelements[str(self.s2)] = Expression(self.s2) serializer.subelements[str(self.s)] = Expression(self.s) template = FunctionPulseTemplate.deserialize(serializer, **basic_data) self.assertEqual('hugo', template.identifier) self.assertEqual({'a', 'b', 'c'}, template.parameter_names) self.assertEqual( {ParameterDeclaration(name) for name in {'a', 'b', 'c'}}, template.parameter_declarations) serialized_data = template.get_serialization_data(serializer) del basic_data['identifier'] self.assertEqual(basic_data, serialized_data)
def test_deserialize(self) -> None: basic_data = dict(duration_expression=str(self.s2), expression=self.s, channel='A', identifier='hugo', measurement_declarations=self.meas_list, parameter_constraints=self.constraints) serializer = DummySerializer( serialize_callback=lambda x: x.original_expression) serializer.subelements[self.s2] = Expression(self.s2) serializer.subelements[self.s] = Expression(self.s) template = FunctionPulseTemplate.deserialize(serializer, **basic_data) self.assertEqual('hugo', template.identifier) self.assertEqual({'a', 'b', 'c', 'x', 'z', 'j', 'u', 'd'}, template.parameter_names) self.assertEqual(template.measurement_declarations, self.meas_list) serialized_data = template.get_serialization_data(serializer) del basic_data['identifier'] self.assertEqual(basic_data, serialized_data)