def test_cdm_trait_collection_insert(self):
        manifest = generate_manifest()
        parent_folder = CdmFolderDefinition(manifest.ctx, 'ParentFolder')
        parent_folder.in_document = manifest
        parent_folder._namespace = 'TheNamespace'
        parent_folder._folder_path = 'ParentFolderPath/'

        child_folders = parent_folder.child_folders
        child_folder = CdmFolderDefinition(manifest.ctx, 'ChildFolder1')

        child1 = child_folders.append('child1')
        child2 = child_folders.append('child2')
        child_folder._is_dirty = False

        child_folders.insert(1, child_folder)

        self.assertEqual(3, len(child_folders))
        self.assertTrue(manifest._is_dirty)
        self.assertEqual(child1, child_folders[0])
        self.assertEqual(child_folder, child_folders[1])
        self.assertEqual(child2, child_folders[2])
        self.assertEqual(manifest.ctx, child_folder.ctx)
        self.assertEqual('ChildFolder1', child_folder.name)
        self.assertEqual(parent_folder, child_folder.owner)
        self.assertEqual('TheNamespace', child_folder._namespace)
        self.assertEqual(parent_folder._folder_path + child_folder.name + '/',
                         child_folder._folder_path)
    def test_cdm_trait_collection_insert(self):
        manifest = generate_manifest("C:\\Root\\Path")
        parent_folder = CdmFolderDefinition(manifest.ctx, "ParentFolder")
        parent_folder.in_document = manifest
        parent_folder.namespace = "TheNamespace"
        parent_folder.folder_path = "ParentFolderPath/"

        child_folders = parent_folder.child_folders
        child_folder = CdmFolderDefinition(manifest.ctx, "ChildFolder1")

        child1 = child_folders.append("child1")
        child2 = child_folders.append("child2")
        child_folder._is_dirty = False

        child_folders.insert(1, child_folder)

        self.assertEqual(3, len(child_folders))
        self.assertTrue(manifest._is_dirty)
        self.assertEqual(child1, child_folders[0])
        self.assertEqual(child_folder, child_folders[1])
        self.assertEqual(child2, child_folders[2])
        self.assertEqual(manifest.ctx, child_folder.ctx)
        self.assertEqual("ChildFolder1", child_folder.name)
        self.assertEqual(parent_folder, child_folder.owner)
        self.assertEqual("TheNamespace", child_folder.namespace)
        self.assertEqual(parent_folder.folder_path + child_folder.name + "/",
                         child_folder.folder_path)