@@ -69,7 +69,7 @@ def test_get_node_not_existing(self):
69
69
# too many new nodes
70
70
self .assertRaises (KeyError , to_test .get_node , sample_json , "node1.node2.newnode.newnode2" , True )
71
71
72
- def test_set_node (self ):
72
+ def test_update_node (self ):
73
73
sample_json = self .__get_sample_json ()
74
74
node = to_test .update_node (sample_json , "$" , '{"node3": {"brightness": 6}}' )
75
75
@@ -138,18 +138,45 @@ def test_set_node(self):
138
138
}
139
139
}, node )
140
140
141
- def test_set_node_empty_path (self ):
141
+ def test_update_node_empty_path (self ):
142
142
sample_json = self .__get_sample_json ()
143
143
self .assertRaises (ValueError , to_test .update_node , sample_json , None , '{"node3": {"brightness": 6}}' )
144
144
145
145
sample_json = self .__get_sample_json ()
146
146
self .assertRaises (ValueError , to_test .update_node , sample_json , "" , '{"node3": {"brightness": 6}}' )
147
147
148
- def test_set_node_not_json (self ):
148
+ def test_update_node_not_json (self ):
149
149
sample_json = self .__get_sample_json ()
150
150
151
151
self .assertRaises (json .JSONDecodeError , to_test .update_node , sample_json , "node1.node2" , "not a json string" )
152
152
153
+ def test_update_node_primitive_type (self ):
154
+ sample_json = self .__get_sample_json ()
155
+
156
+ node = to_test .update_node (sample_json , "node1.node2" , '"I am a primitive data type"' )
157
+
158
+ self .assertIsInstance (node ["node1" ]["node2" ], str , "Not a string" )
159
+ self .assertDictEqual ({"node1" : {
160
+ "node2" : "I am a primitive data type"
161
+ }
162
+ }, node )
163
+
164
+ node = to_test .update_node (sample_json , "node1.node2" , '4378462' )
165
+
166
+ self .assertIsInstance (node ["node1" ]["node2" ], int , "Not an int" )
167
+ self .assertDictEqual ({"node1" : {
168
+ "node2" : 4378462
169
+ }
170
+ }, node )
171
+
172
+ node = to_test .update_node (sample_json , "node1.node2" , 'true' )
173
+
174
+ self .assertIsInstance (node ["node1" ]["node2" ], bool , "Not a bool" )
175
+ self .assertDictEqual ({"node1" : {
176
+ "node2" : True
177
+ }
178
+ }, node )
179
+
153
180
def test_pop_node (self ):
154
181
original_json = self .__get_sample_json ()
155
182
0 commit comments