code: def test_deepcopy(self):
      lhs, rhs = FakeNode(), FakeNode()
      entry = FakeEntry()
      entry.pos = lhs.pos
  
      name_ass = NameAssignment(lhs, rhs, entry)
      ass = deepcopy(name_ass)
      self.assertTrue(ass.lhs)
      self.assertTrue(ass.rhs)
      self.assertTrue(ass.entry)
      self.assertEqual(ass.pos, name_ass.pos)
      self.assertFalse(ass.is_arg)
      self.assertFalse(ass.is_deletion)
  
      static_ass = StaticAssignment(entry)
      ass = deepcopy(static_ass)
      self.assertTrue(ass.lhs)
      self.assertTrue(ass.rhs)
      self.assertTrue(ass.entry)
      self.assertEqual(ass.pos, static_ass.pos)
      self.assertFalse(ass.is_arg)
      self.assertFalse(ass.is_deletion)
  
      arg_ass = Argument(lhs, rhs, entry)
      ass = deepcopy(arg_ass)
      self.assertTrue(ass.lhs)
      self.assertTrue(ass.rhs)
      self.assertTrue(ass.entry)
      self.assertEqual(ass.pos, arg_ass.pos)
      self.assertTrue(ass.is_arg)
      self.assertFalse(ass.is_deletion)
  
      name_del = NameDeletion(lhs, entry)
      ass = deepcopy(name_del)
      self.assertTrue(ass.lhs)
      self.assertTrue(ass.rhs)
      self.assertTrue(ass.entry)
      self.assertEqual(ass.pos, name_del.pos)
      self.assertFalse(ass.is_arg)
      self.assertTrue(ass.is_deletion)
  
file_path: catboost/contrib/tools/cython/Cython/Compiler/Tests/TestFlowControl.py
imports: from __future__ import absolute_import
  from copy import deepcopy
  from unittest import TestCase
  from Cython.Compiler.FlowControl import NameAssignment, StaticAssignment, Argument, NameDeletion
label_desc: Use image node_id 1 for calling the TestGraph obj's underlying member method code with example usage: obj.test_deepcopy() without return types