diff options
Diffstat (limited to 'tests/python/view_layer/test_background_set.py')
-rw-r--r-- | tests/python/view_layer/test_background_set.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/python/view_layer/test_background_set.py b/tests/python/view_layer/test_background_set.py new file mode 100644 index 00000000000..a26229d53a9 --- /dev/null +++ b/tests/python/view_layer/test_background_set.py @@ -0,0 +1,64 @@ +# ############################################################ +# Importing - Same For All Render Layer Tests +# ############################################################ + +import unittest +import os +import sys + +from view_layer_common import * + + +# ############################################################ +# Testing +# ############################################################ + +class UnitTesting(ViewLayerTesting): + def test_background_set(self): + """ + See if background sets are properly added and removed + """ + import bpy + + background_scene = bpy.data.scenes[0] + main_scene = bpy.data.scenes.new('main') + bpy.context.window.scene = main_scene + + # Update depsgraph. + main_scene.update() + + # Safety check, there should be no objects in thew newly created scene. + self.assertEqual(0, len(bpy.context.depsgraph.objects)) + + # Now set the background set, and objects relationship. + main_scene.background_set = background_scene + background_scene.objects[0].parent = background_scene.objects[1] + + # Update depsgraph. + main_scene.update() + + # Test if objects were properly added to depsgraph. + self.assertEqual(3, len(bpy.context.depsgraph.objects)) + + # We now check if the objects are properly flagged as from set + # These objects can't be possible nor show their origins or + # relationship lines + for ob in bpy.context.depsgraph.objects: + self.assertTrue(ob.is_from_set) + + # Test if removing is working fine. + main_scene.background_set = None + + # Update depsgraph. + main_scene.update() + + self.assertEqual(0, len(bpy.context.depsgraph.objects)) + + +# ############################################################ +# Main - Same For All Render Layer Tests +# ############################################################ + +if __name__ == '__main__': + UnitTesting._extra_arguments = setup_extra_arguments(__file__) + unittest.main() |