@@ -353,6 +353,34 @@ def test_value_extend(self):
353353 self .assertEqual (len (prop4 ), 5 )
354354 self .assertRaises (ValueError , prop4 .extend , [[10 , 11 ]])
355355
356+ def test_reorder (self ):
357+ sec = Section ()
358+ prop_zero = Property (name = "prop_zero" , parent = sec )
359+ prop_one = Property (name = "prop_one" , parent = sec )
360+ prop_two = Property (name = "prop_two" , parent = sec )
361+ prop_three = Property (name = "prop_three" , parent = sec )
362+
363+ self .assertEqual (sec .properties [0 ].name , prop_zero .name )
364+ self .assertEqual (sec .properties [2 ].name , prop_two .name )
365+ prop_two .reorder (0 )
366+
367+ self .assertEqual (sec .properties [0 ].name , prop_two .name )
368+ self .assertEqual (sec .properties [1 ].name , prop_zero .name )
369+ self .assertEqual (sec .properties [2 ].name , prop_one .name )
370+ self .assertEqual (sec .properties [3 ].name , prop_three .name )
371+
372+ prop_two .reorder (2 )
373+
374+ self .assertEqual (sec .properties [0 ].name , prop_zero .name )
375+ self .assertEqual (sec .properties [1 ].name , prop_one .name )
376+ self .assertEqual (sec .properties [2 ].name , prop_two .name )
377+ self .assertEqual (sec .properties [3 ].name , prop_three .name )
378+
379+ # Test Exception on unconnected property
380+ prop = Property (name = "main" )
381+ with self .assertRaises (ValueError ):
382+ prop .reorder (0 )
383+
356384 def test_get_set_value (self ):
357385 values = [1 , 2 , 3 , 4 , 5 ]
358386 prop = Property ("property" , value = values )
0 commit comments