code: def setUp(self):
      self.n_train = 100
      self.n_test = 50
      self.contamination = 0.1
      self.roc_floor = 0.8
      self.gm = None
      self.median = None
      self.data_scaler = None
      self.angles_scalers1 = None
      self.angles_scalers2 = None
      (
          self.X_train,
          self.X_test,
          self.y_train,
          self.y_test,
      ) = generate_data(
          n_train=self.n_train,
          n_test=self.n_test,
          n_features=4,
          contamination=self.contamination,
          random_state=42,
      )
  
      self.clf = ROD()
      self.clf.fit(self.X_train)
  
imports: from __future__ import division
  from __future__ import print_function
  import os
  import sys
  import unittest
  import numpy
  from numpy.testing import *
  from numpy.testing import assert_array_less
  from numpy.testing import assert_equal
  from numpy.testing import assert_raises
  from sklearn.base import clone
  from scipy.stats import rankdata
  from pyod.models.rod import ROD, rod_3D, rod_nD, angle, sigmoid, process_sub, mad
  from pyod.utils.data import generate_data
label_desc: Use image node_id 1 for calling the TestROD obj's underlying member method code with example usage: obj.setUp() without return types