code: def helper_pre_order_match(self, cur_opr, res_opr):
      self.assertEqual(cur_opr.opr_type, res_opr.opr_type)
      self.assertEqual(len(cur_opr.children), len(res_opr.children))
  
      for i, child_opr in enumerate(cur_opr.children):
          self.helper_pre_order_match(child_opr, res_opr.children[i])
  
file_path: evadb/test/unit_tests/optimizer/test_binder.py
imports: import copy
  import unittest
  from mock import MagicMock
  from evadb.optimizer.binder import Binder
  from evadb.optimizer.cost_model import CostModel
  from evadb.optimizer.operators import Dummy, LogicalFilter, LogicalGet, OperatorType
  from evadb.optimizer.optimizer_context import OptimizerContext
  from evadb.optimizer.rules.pattern import Pattern
label_desc: Use image node_id 1 for calling the TestBinder obj's underlying member method code with example usage: obj.helper_pre_order_match(cur_opr, res_opr) without return types