12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- # ############################################################
- # Importing - Same For All Render Layer Tests
- # ############################################################
- import unittest
- import os
- import sys
- from view_layer_common import *
- # ############################################################
- # Testing
- # ############################################################
- class UnitTesting(ViewLayerTesting):
- def test_group_write_load(self):
- """
- See if saving/loading is working for groups
- """
- import bpy
- scene = bpy.context.scene
- layer_collection = bpy.context.layer_collection
- while len(scene.view_layers) > 1:
- scene.view_layers.remove(scene.view_layers[1])
- # create group
- group = layer_collection.create_group()
- self.assertEqual(1, len(bpy.data.groups))
- self.assertEqual(1, bpy.data.groups[0].users)
- self.assertEqual(3, len(bpy.data.groups[0].objects))
- import os
- import tempfile
- with tempfile.TemporaryDirectory() as dirpath:
- filepath = os.path.join(dirpath, 'layers.blend')
- for i in range(3):
- # save and re-open file
- bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath)
- bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath)
- self.assertEqual(1, len(bpy.data.groups))
- self.assertEqual(1, bpy.data.groups[0].users)
- self.assertEqual(3, len(bpy.data.groups[0].objects))
- # empty the group of objects
- group = bpy.data.groups[0]
- while group.objects:
- group.view_layer.collections[0].collection.objects.unlink(group.objects[0])
- # save and re-open file
- bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath)
- bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath)
- self.assertEqual(1, len(bpy.data.groups))
- self.assertEqual(0, bpy.data.groups[0].users)
- self.assertEqual(0, len(bpy.data.groups[0].objects))
- # save and re-open file
- bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath)
- bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath)
- self.assertEqual(0, len(bpy.data.groups))
- # ############################################################
- # Main - Same For All Render Layer Tests
- # ############################################################
- if __name__ == '__main__':
- UnitTesting._extra_arguments = setup_extra_arguments(__file__)
- unittest.main()
|