Skip to content

Commit 0cf9a9d

Browse files
author
Joel Collins
committed
Improved test_rupdate_granular coverage
1 parent b4255f8 commit 0cf9a9d

File tree

1 file changed

+65
-8
lines changed

1 file changed

+65
-8
lines changed

tests/test_core_utilities.py

Lines changed: 65 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,75 @@ def test_get_summary(example_class):
4747
assert utilities.get_summary(example_class.class_method_no_docstring) == ""
4848

4949

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 = {
5469
"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]},
5870
}
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
5984

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+
}
6095
assert utilities.rupdate(d1, d2) == d2
6196

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+
62119

63120
def test_rapply():
64121
d1 = {
@@ -112,7 +169,7 @@ def test_camel_to_snake():
112169
assert utilities.camel_to_snake("SomeCamelString") == "some_camel_string"
113170

114171

115-
def camel_to_spine():
172+
def test_camel_to_spine():
116173
assert utilities.camel_to_spine("SomeCamelString") == "some-camel-string"
117174

118175

0 commit comments

Comments
 (0)