Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/python/view_layer/test_group_d.py')
-rw-r--r--tests/python/view_layer/test_group_d.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/tests/python/view_layer/test_group_d.py b/tests/python/view_layer/test_group_d.py
new file mode 100644
index 00000000000..6f54ca5340a
--- /dev/null
+++ b/tests/python/view_layer/test_group_d.py
@@ -0,0 +1,76 @@
+# ############################################################
+# 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()