@@ -193,15 +193,19 @@ class TestConfigNode(BaseTestCase):
193
193
"with_names" : [{"name" : "test_name" , "value" : "test_value" },
194
194
{"name" : "test_name2" ,
195
195
"value" : {"key1" , "test" }},
196
- {"name" : "test_name3" , "value" : [1 , 2 , 3 ]}]}
196
+ {"name" : "test_name3" , "value" : [1 , 2 , 3 ]}],
197
+ "with_names_dup" : [{"name" : "test_name" , "value" : "test_value" },
198
+ {"name" : "test_name" ,
199
+ "value" : {"key1" , "test" }},
200
+ {"name" : "test_name3" , "value" : [1 , 2 , 3 ]}]}
197
201
198
202
def setUp (self ):
199
203
super (TestConfigNode , self ).setUp ()
200
204
self .node = ConfigNode ("test_obj" , self .test_obj )
201
205
202
206
def test_normal_map_array_operations (self ):
203
207
self .assertEqual ("test" , self .node ['key1' ])
204
- self .assertEqual (4 , len (self .node ))
208
+ self .assertEqual (5 , len (self .node ))
205
209
206
210
self .assertEqual ("test_obj/key2" , self .node ['key2' ].name )
207
211
self .assertEqual (["a" , "b" , "c" ], self .node ['key2' ].value )
@@ -248,6 +252,11 @@ def test_get_with_name_on_name_does_not_exists(self):
248
252
lambda : self .node ['with_names' ].get_with_name ('no-name' ),
249
253
"Expected object with name no-name in test_obj/with_names list" )
250
254
255
+ def test_get_with_name_on_duplicate_name (self ):
256
+ self .expect_exception (
257
+ lambda : self .node ['with_names_dup' ].get_with_name ('test_name' ),
258
+ "Expected only one object with name test_name in test_obj/with_names_dup list" )
259
+
251
260
252
261
class FakeConfig :
253
262
0 commit comments