@@ -47,18 +47,75 @@ def test_get_summary(example_class):
47
47
assert utilities .get_summary (example_class .class_method_no_docstring ) == ""
48
48
49
49
50
- def test_rupdate ():
51
- d1 = {"a" : "String" , "b" : 5 , "c" : [], "d" : {"a" : "String" , "b" : 5 , "c" : []}}
52
-
53
- d2 = {
50
+ # def test_rupdate():
51
+ # d1 = {"a": "String", "b": 5, "c": [], "d": {"a": "String", "b": 5, "c": []}}
52
+ #
53
+ # d2 = {
54
+ # "a": "String 2",
55
+ # "b": 50,
56
+ # "c": [10, 20, 30, 40, 50],
57
+ # "d": {"a": "String 2d", "b": 50, "c": [10, 20, 30, 40, 50], "e": ["New list"]},
58
+ # }
59
+ #
60
+ # assert utilities.rupdate(d1, d2) == d2
61
+
62
+
63
+ def test_rupdate_granular ():
64
+ # Update string value
65
+ s1 = {
66
+ "a" : "String" ,
67
+ }
68
+ s2 = {
54
69
"a" : "String 2" ,
55
- "b" : 50 ,
56
- "c" : [10 , 20 , 30 , 40 , 50 ],
57
- "d" : {"a" : "String 2d" , "b" : 50 , "c" : [10 , 20 , 30 , 40 , 50 ]},
58
70
}
71
+ assert utilities .rupdate (s1 , s2 ) == s2
72
+
73
+ # Update int value
74
+ i1 = {
75
+ "b" : 5 ,
76
+ }
77
+ i2 = {"b" : 50 }
78
+ assert utilities .rupdate (i1 , i2 ) == i2
79
+
80
+ # Update list elements
81
+ l1 = {"c" : []}
82
+ l2 = {"c" : [1 , 2 , 3 , 4 ]}
83
+ assert utilities .rupdate (l1 , l2 ) == l2
59
84
85
+ # Extend list elements
86
+ l1 = {"c" : [1 , 2 , 3 ]}
87
+ l2 = {"c" : [4 , 5 , 6 ]}
88
+ assert utilities .rupdate (l1 , l2 )["c" ] == [1 , 2 , 3 , 4 , 5 , 6 ]
89
+
90
+ # Merge dictionaries
91
+ d1 = {"d" : {"a" : "String" , "b" : 5 , "c" : []}}
92
+ d2 = {
93
+ "d" : {"a" : "String 2" , "b" : 50 , "c" : [1 , 2 , 3 , 4 , 5 ]},
94
+ }
60
95
assert utilities .rupdate (d1 , d2 ) == d2
61
96
97
+ # Replace value with list
98
+ ml1 = {"k" : True }
99
+ ml2 = {"k" : [1 , 2 , 3 ]}
100
+ assert utilities .rupdate (ml1 , ml2 ) == ml2
101
+
102
+ # Create missing value
103
+ ms1 = {}
104
+ ms2 = {"k" : "v" }
105
+ assert utilities .rupdate (ms1 , ms2 ) == ms2
106
+
107
+ # Create missing list
108
+ ml1 = {}
109
+ ml2 = {"k" : [1 , 2 , 3 ]}
110
+ assert utilities .rupdate (ml1 , ml2 ) == ml2
111
+
112
+ # Create missing dictionary
113
+ md1 = {}
114
+ md2 = {
115
+ "d" : {"a" : "String 2" , "b" : 50 , "c" : [1 , 2 , 3 , 4 , 5 ]},
116
+ }
117
+ assert utilities .rupdate (md1 , md2 ) == md2
118
+
62
119
63
120
def test_rapply ():
64
121
d1 = {
@@ -112,7 +169,7 @@ def test_camel_to_snake():
112
169
assert utilities .camel_to_snake ("SomeCamelString" ) == "some_camel_string"
113
170
114
171
115
- def camel_to_spine ():
172
+ def test_camel_to_spine ():
116
173
assert utilities .camel_to_spine ("SomeCamelString" ) == "some-camel-string"
117
174
118
175
0 commit comments