code: def test_reorder_rule_should_not_have_side_effects(self):
      query = "SELECT id FROM MyVideo WHERE id < 20 AND id > 10;"
      result = execute_query_fetch_all(self.evadb, query)
  
      rules_manager = RulesManager()
      with disable_rules(rules_manager, [ReorderPredicates()]):
          custom_plan_generator = PlanGenerator(
              self.evadb, rules_manager
          )
          expected = execute_query_fetch_all(
              self.evadb, query, plan_generator=custom_plan_generator
          )
          self.assertEqual(result, expected)
  
imports: import unittest
  from test.markers import gpu_skip_marker
  from test.util import get_evadb_for_testing, get_physical_query_plan, load_functions_for_testing, shutdown_ray
  import numpy
  import pandas
  import pytest
  from mock import MagicMock, patch
  from evadb.configuration.constants import EvaDB_ROOT_DIR
  from evadb.expression.comparison_expression import ComparisonExpression
  from evadb.models.storage.batch import Batch
  from evadb.optimizer.plan_generator import PlanGenerator
  from evadb.optimizer.rules.rules import PushDownFilterThroughApplyAndMerge, PushDownFilterThroughJoin, ReorderPredicates
  from evadb.optimizer.rules.rules_manager import RulesManager, disable_rules
  from evadb.plan_nodes.predicate_plan import PredicatePlan
  from evadb.server.command_handler import execute_query_fetch_all
  from evadb.utils.stats import Timer
label_desc: Use image node_id 8 for calling the OptimizerRulesTest obj's underlying member method code with example usage: obj.test_reorder_rule_should_not_have_side_effects() without return types