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)
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)
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