From 1971dd2976886a87a849510a642247579e663c5e Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Fri, 24 Nov 2017 10:54:13 -0200 Subject: Layers Unittest: Background set This is an incomplete test since we cannot check for the depsgraph selection value with the current API, nor can we see if the relationship lines are being drawn. --- tests/python/view_layer/CMakeLists.txt | 1 + tests/python/view_layer/test_background_set.py | 69 ++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 tests/python/view_layer/test_background_set.py (limited to 'tests/python/view_layer') diff --git a/tests/python/view_layer/CMakeLists.txt b/tests/python/view_layer/CMakeLists.txt index 48206f61db4..e5b271dcb1e 100644 --- a/tests/python/view_layer/CMakeLists.txt +++ b/tests/python/view_layer/CMakeLists.txt @@ -61,6 +61,7 @@ macro(VIEW_LAYER_TEST test_name) endmacro() VIEW_LAYER_TEST(active_collection) +VIEW_LAYER_TEST(background_set) VIEW_LAYER_TEST(collection_rename) VIEW_LAYER_TEST(evaluation_render_settings_a) VIEW_LAYER_TEST(evaluation_render_settings_b) 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..a227d4d189c --- /dev/null +++ b/tests/python/view_layer/test_background_set.py @@ -0,0 +1,69 @@ +# ############################################################ +# 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() + background_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() + background_scene.update() + + # Test if objects were properly added to depsgraph. + self.assertEqual(3, len(bpy.context.depsgraph.objects)) + + # At this point the ideal would be to be able to check if + # the objects are not selected and their relationship line + # and origin is not visible. + # + # However we can't check this from the current API + # so we either do image comparison, expand the API + # (won't work relationship lines) or leave as it is. + + # Test if removing is working fine. + main_scene.background_set = None + + # Update depsgraph. + main_scene.update() + background_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() -- cgit v1.2.3