code: def test_recursive_asset_adding():
      scene1 = Scene()
      scene2 = Scene()
      view1 = mock.Mock(view.View)
      scene1.link_view(view1)
  
      asset = objects.PhysicalObject()
      scene1.add(asset)
      scene2.add(asset)
  
      view1.add.assert_called_once_with(asset)
      view1.add.reset_mock()
  
      mat = materials.FlatMaterial()
      asset.material = mat
  
      assert asset.material == mat
      assert mat in scene1.assets
      assert mat in scene2.assets
      view1.add.assert_called_once_with(mat)
  
file_path: kubric/test/test_scene.py
imports: from unittest import mock
  from kubric.core.scene import Scene
  from kubric.core.cameras import PerspectiveCamera
  from kubric.core import assets
  from kubric.core import objects
  from kubric.core import materials
  from kubric.core import view
  from kubric.core.color import get_color
label_desc: Use image node_id 7 for calling a global function with example usage: test_recursive_asset_adding() without return types