@@ -291,3 +291,32 @@ def test_comparison(self):
291291
292292 doc_b .sections ["subsecA" ].properties [0 ].name = "newPropB"
293293 self .assertNotEqual (doc_a , doc_b )
294+
295+ def test_create_section (self ):
296+ root = Document ()
297+ self .assertEqual (len (root .sections ), 0 )
298+
299+ name = "subsec"
300+ type = "subtype"
301+ oid = "79b613eb-a256-46bf-84f6-207df465b8f7"
302+ subsec = root .create_section (name , type , oid )
303+
304+ self .assertEqual (len (root .sections ), 1 )
305+ self .assertEqual (subsec .parent , root )
306+ self .assertEqual (root .sections [name ], subsec )
307+ self .assertEqual (root .sections [name ].type , type )
308+ self .assertEqual (root .sections [name ].oid , oid )
309+
310+ name = "othersec"
311+ subsec = root .create_section (name )
312+ self .assertEqual (len (root .sections ), 2 )
313+ self .assertEqual (subsec .parent , root )
314+ self .assertEqual (root .sections [name ], subsec )
315+ self .assertEqual (root .sections [name ].type , "undefined" )
316+
317+ name = "subsubsec"
318+ subsec = root .sections [0 ].create_section (name )
319+ self .assertEqual (len (root .sections ), 2 )
320+ self .assertEqual (subsec .parent , root .sections [0 ])
321+ self .assertEqual (len (root .sections [0 ].sections ), 1 )
322+ self .assertEqual (root .sections [0 ].sections [0 ].name , name )
0 commit comments