code: def test_operator_combine(self):
      op1 = SelectiveBuildOperator(
          "aten::add.int",
          is_root_operator=True,
          is_used_for_training=False,
          include_all_overloads=False,
          _debug_info=None,
      )
      op2 = SelectiveBuildOperator(
          "aten::add.int",
          is_root_operator=False,
          is_used_for_training=False,
          include_all_overloads=False,
          _debug_info=None,
      )
      op3 = SelectiveBuildOperator(
          "aten::add",
          is_root_operator=True,
          is_used_for_training=False,
          include_all_overloads=False,
          _debug_info=None,
      )
      op4 = SelectiveBuildOperator(
          "aten::add.int",
          is_root_operator=True,
          is_used_for_training=True,
          include_all_overloads=False,
          _debug_info=None,
      )
  
      op5 = combine_operators(op1, op2)
  
      self.assertTrue(op5.is_root_operator)
      self.assertFalse(op5.is_used_for_training)
  
      op6 = combine_operators(op1, op4)
  
      self.assertTrue(op6.is_root_operator)
      self.assertTrue(op6.is_used_for_training)
  
      def gen_new_op():
          return combine_operators(op1, op3)
  
      self.assertRaises(Exception, gen_new_op)
  
file_path: pytorch/tools/test/test_selective_build.py
imports: import unittest
  from torchgen.selective_build.operator import *
  from torchgen.model import Location, NativeFunction
  from torchgen.selective_build.selector import combine_selective_builders, SelectiveBuilder
label_desc: Use image node_id 3 for calling the TestSelectiveBuild obj's underlying member method code with example usage: obj.test_operator_combine() and returns: combine_operators