class_docstr: Test the dependency tree.
  
  This is what we are working with::
  
      None (No Data)
       +DataID(name='comp19')
       + +DataID(name='ds5', resolution=250, modifiers=('res_change',))
       + + +DataID(name='ds5', resolution=250, modifiers=())
       + + +__EMPTY_LEAF_SENTINEL__ (No Data)
       + +DataID(name='comp13')
       + + +DataID(name='ds5', resolution=250, modifiers=('res_change',))
       + + + +DataID(name='ds5', resolution=250, modifiers=())
       + + + +__EMPTY_LEAF_SENTINEL__ (No Data)
       + +DataID(name='ds2', resolution=250, calibration=<calibration.reflectance>, modifiers=())
docstr: Test that dependency tree copy preserves all nodes.
docstr_tok: ["Test","that","dependency","tree","copy","preserves","all","nodes","."]
code: def test_copy_preserves_all_nodes(self):
      """Test that dependency tree copy preserves all nodes."""
      new_dependency_tree = self.dependency_tree.copy()
      assert (
          self.dependency_tree.empty_node
          is new_dependency_tree.empty_node
      )
      assert self._nodes_equal(
          self.dependency_tree.leaves(), new_dependency_tree.leaves()
      )
      assert self._nodes_equal(
          self.dependency_tree.trunk(), new_dependency_tree.trunk()
      )
  
      # make sure that we can get access to sub-nodes
      c13_id = make_cid(name="comp13")
      assert self._nodes_equal(
          self.dependency_tree.trunk(limit_nodes_to=[c13_id]),
          new_dependency_tree.trunk(limit_nodes_to=[c13_id]),
      )
  
imports: import os
  import unittest
  from satpy.dependency_tree import DependencyTree
  from satpy.tests.utils import make_cid, make_dataid
label_desc: Use image node_id 3 for calling the TestDependencyTree obj's underlying member method code with example usage: obj.test_copy_preserves_all_nodes() without return types