code: def test_init(self):
      # test mean is None
      processor = DetDataPreprocessor()
      self.assertTrue(not hasattr(processor, "mean"))
      self.assertTrue(processor._enable_normalize is False)
  
      # test mean is not None
      processor = DetDataPreprocessor(mean=[0, 0, 0], std=[1, 1, 1])
      self.assertTrue(hasattr(processor, "mean"))
      self.assertTrue(hasattr(processor, "std"))
      self.assertTrue(processor._enable_normalize)
  
      # please specify both mean and std
      with self.assertRaises(AssertionError):
          DetDataPreprocessor(mean=[0, 0, 0])
  
      # bgr2rgb and rgb2bgr cannot be set to True at the same time
      with self.assertRaises(AssertionError):
          DetDataPreprocessor(bgr_to_rgb=True, rgb_to_bgr=True)
  
file_path: mmdetection/tests/test_models/test_data_preprocessors/test_data_preprocessor.py
imports: from unittest import TestCase
  import torch
  from mmengine.logging import MessageHub
  from mmdet.models.data_preprocessors import BatchFixedSizePad, BatchSyncRandomResize, DetDataPreprocessor, MultiBranchDataPreprocessor
  from mmdet.structures import DetDataSample
  from mmdet.testing import demo_mm_inputs
label_desc: Use image node_id 1 for calling the TestDetDataPreprocessor obj's underlying member method code with example usage: obj.test_init() without return types