test_scene_collection_delete.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # ############################################################
  2. # Importing - Same For All Render Layer Tests
  3. # ############################################################
  4. import unittest
  5. import os
  6. import sys
  7. from view_layer_common import *
  8. # ############################################################
  9. # Testing
  10. # ############################################################
  11. class UnitTesting(ViewLayerTesting):
  12. def test_scene_collection_delete(self):
  13. """
  14. See if a scene collection can be properly deleted even
  15. when linked
  16. """
  17. import bpy
  18. # delete all initial objects
  19. while bpy.data.objects:
  20. bpy.data.objects.remove(bpy.data.objects[0])
  21. # delete all initial collections
  22. scene = bpy.context.scene
  23. master_collection = scene.master_collection
  24. while master_collection.collections:
  25. master_collection.collections.remove(master_collection.collections[0])
  26. collection_parent = master_collection.collections.new('parent')
  27. collection_nested = collection_parent.collections.new('child linked')
  28. bpy.context.view_layer.collections.link(collection_nested)
  29. master_collection.collections.remove(collection_parent)
  30. # Update depsgraph.
  31. bpy.context.view_layer.update()
  32. # ############################################################
  33. # Main - Same For All Render Layer Tests
  34. # ############################################################
  35. if __name__ == '__main__':
  36. UnitTesting._extra_arguments = setup_extra_arguments(__file__)
  37. unittest.main()