def test_with_sep_wrong_type(input_sep, error_type):
    """Make sure when user give a wrong type arg, raise TypeError"""
    with pytest.raises(TypeError) as exc_info:
        utils.from_list_to_nested_dict(['a@b@c', 'a@b@d'], input_sep)

    exception_msg = exc_info.value.args[0]
    assert exception_msg == "Input argument 'sep' should be six.string_types, " \
                            "but get {}".format(error_type)
def test_with_input_wrong_type(input_arg, error_type):
    """Make sure when user give a wrong type arg, raise TypeError"""
    with pytest.raises(TypeError) as exc_info:
        utils.from_list_to_nested_dict(input_arg)

    exception_msg = exc_info.value.args[0]
    assert exception_msg == "Input argument 'input' should be list or tuple or set, " \
                            "but get {}".format(error_type)
示例#3
0
 def set_data(self, option_list):
     assert isinstance(option_list, list)
     if option_list:
         if all(isinstance(i, six.string_types) for i in option_list):
             option_list = utils.from_list_to_nested_dict(
                 option_list, sep=self.property("separator")
             )
         if all(isinstance(i, (int, float)) for i in option_list):
             option_list = [{"value": i, "label": str(i)} for i in option_list]
     # 全部转换成 dict 类型的 list
     self.setProperty("data", option_list)
示例#4
0
 def set_data(self, option_list):
     assert isinstance(option_list, list)
     if option_list:
         if all(isinstance(i, basestring) for i in option_list):
             option_list = utils.from_list_to_nested_dict(
                 option_list, sep=self.property('separator'))
         if all(isinstance(i, (int, float)) for i in option_list):
             option_list = [{
                 'value': i,
                 'label': str(i)
             } for i in option_list]
     # 全部转换成 dict 类型的 list
     self.setProperty('data', option_list)
def test_with_sep():
    """Test when sep is given."""
    result = [{
        'value': 'a',
        'label': 'a',
        'children': [
            {
                'value': 'b',
                'label': 'b',
                'children': [
                    {
                        'value': 'c',
                        'label': 'c'
                    },
                    {
                        'value': 'd',
                        'label': 'd'
                    }
                ]}
        ]}]
    assert utils.from_list_to_nested_dict(['a@b@c', 'a@b@d'], sep='@') == result
def test_from_list_to_nested_dict(input_, result):
    """Test with different level string."""
    assert utils.from_list_to_nested_dict(input_) == result