File tree Expand file tree Collapse file tree 2 files changed +16
-7
lines changed Expand file tree Collapse file tree 2 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -10,15 +10,13 @@ def parse(multi_value_bytes):
10
10
parsed_multi_value = proto .multi_value (multi_value_bytes )
11
11
12
12
for multi_value_item in parsed_multi_value .values :
13
- value = attribute_parser .value_based_on_content_type (multi_value_item .data , multi_value_item .content_type )
14
-
15
- if value .content_type == proto .CT_MULTI_VALUE :
16
- multi_value_list .append (parse (value ))
17
- else :
18
- multi_value_list .append (value )
13
+ multi_value_list .append (
14
+ attribute_parser .value_based_on_content_type (
15
+ multi_value_item .data ,
16
+ multi_value_item .content_type ))
19
17
20
18
return multi_value_list
21
19
22
20
23
21
def filter_values (values , type_to_filter ):
24
- return list (filter (lambda v : isinstance (v , type_to_filter ), values ))
22
+ return tuple (filter (lambda v : isinstance (v , type_to_filter ), values ))
Original file line number Diff line number Diff line change @@ -41,3 +41,14 @@ def test_multi_value_filter_string():
41
41
42
42
assert len (filtered_list ) == 1
43
43
assert filtered_list [0 ] is string_value
44
+
45
+
46
+ def test_multi_value_filter_is_immutable ():
47
+ original_string_value = "string_value"
48
+ multi_value = [0 , original_string_value ]
49
+
50
+ filtered_list = multivalue .filter_values (multi_value , str )
51
+
52
+ filtered_list [0 ] == "changed_string_value"
53
+
54
+ assert filtered_list [0 ] == original_string_value
You can’t perform that action at this time.
0 commit comments