def from_dict(cls, data): """Create a graphic container from a dictionary. Args: data: { "values": (0, 10), "min_point": {"x": 0, "y": 0, "z": 0}, "max_point": {"x": 10, "y": 10, "z": 0}], "legend_parameters": None, "data_type": None, "unit": None} """ optional_keys = ('legend_parameters', 'data_type', 'unit') for key in optional_keys: if key not in data: data[key] = None legend_parameters = None if data['legend_parameters'] is not None: legend_parameters = LegendParameters.from_dict( data['legend_parameters']) data_type = None if data['data_type'] is not None: data_type = DataTypeBase.from_dict(data['data_type']) return cls(data['values'], Point3D.from_dict(data['min_point']), Point3D.from_dict(data['max_point']), legend_parameters, data_type, data['unit'])
def from_dict(cls, data): """Create a graphic container from a dictionary. Args: data: A python dictionary in the following format .. code-block:: python { "values": [0, 10], "min_point": {"x": 0, "y": 0, "z": 0}, "max_point": {"x": 10, "y": 10, "z": 0}, "legend_parameters": None, "data_type": None, "unit": None } """ legend_parameters = None if 'legend_parameters' in data and data['legend_parameters'] is not None: if data['legend_parameters']['type'] == 'LegendParametersCategorized': legend_parameters = LegendParametersCategorized.from_dict( data['legend_parameters']) else: legend_parameters = LegendParameters.from_dict(data['legend_parameters']) data_type = None if 'data_type' in data and data['data_type'] is not None: data_type = DataTypeBase.from_dict(data['data_type']) unit = data['unit'] if 'unit' in data else None return cls(data['values'], Point3D.from_dict(data['min_point']), Point3D.from_dict(data['max_point']), legend_parameters, data_type, unit)
def test_vector3_to_from_dict(): """Test the initalization of Vector3D objects and basic properties.""" vec = Vector3D(0, 2, 0) vec_dict = vec.to_dict() new_vec = Vector3D.from_dict(vec_dict) assert isinstance(new_vec, Vector3D) assert new_vec.to_dict() == vec_dict pt = Point3D(0, 2, 0) pt_dict = pt.to_dict() new_pt = Point3D.from_dict(pt_dict) assert isinstance(new_pt, Point3D) assert new_pt.to_dict() == pt_dict