Beispiel #1
0
def test_plane_to_from_dict():
    """Test the initalization of Plane objects and basic properties."""
    pt = Point3D(2, 0, 2)
    vec = Vector3D(0, 2, 0)
    plane = Plane(vec, pt)
    plane_dict = plane.to_dict()
    new_plane = Plane.from_dict(plane_dict)
    assert isinstance(new_plane, Plane)
    assert new_plane.to_dict() == plane_dict
Beispiel #2
0
    def from_dict(cls, data):
        """Create a color range from a dictionary.

    Args:
        data: A python dictionary in the following format

    .. code-block:: python

            {
            "min": -3,
            "max": 3,
            "segment_count": 7
            }
        """
        optional_keys = ('min', 'max', 'segment_count', 'colors',
                         'continuous_colors', 'continuous_legend', 'title',
                         'ordinal_dictionary', 'decimal_count',
                         'include_larger_smaller', 'vertical', 'base_plane',
                         'segment_height', 'segment_width', 'text_height',
                         'font')
        default_keys = ('is_segment_count_default', 'is_title_default',
                        'is_base_plane_default', 'is_segment_height_default',
                        'is_segment_width_default', 'is_text_height_default')
        for key in optional_keys:
            if key not in data:
                data[key] = None
        for key in default_keys:
            if key not in data:
                data[key] = False

        colors = None
        if data['colors'] is not None:
            colors = [Color.from_dict(col) for col in data['colors']]
        base_plane = None
        if data['base_plane'] is not None:
            base_plane = Plane.from_dict(data['base_plane'])

        leg_par = cls(data['min'], data['max'], data['segment_count'], colors,
                      data['title'], base_plane)
        leg_par.continuous_colors = data['continuous_colors']
        leg_par.continuous_legend = data['continuous_legend']
        leg_par.ordinal_dictionary = data['ordinal_dictionary']
        leg_par.decimal_count = data['decimal_count']
        leg_par.include_larger_smaller = data['include_larger_smaller']
        leg_par.vertical = data['vertical']
        leg_par.segment_height = data['segment_height']
        leg_par.segment_width = data['segment_width']
        leg_par.text_height = data['text_height']
        leg_par.font = data['font']
        leg_par._is_segment_count_default = data['is_segment_count_default']
        leg_par._is_title_default = data['is_title_default']
        leg_par._is_base_plane_default = data['is_base_plane_default']
        leg_par._is_segment_height_default = data['is_segment_height_default']
        leg_par._is_segment_width_default = data['is_segment_width_default']
        leg_par._is_text_height_default = data['is_text_height_default']
        return leg_par