code: def test_comparison_errors(self, op):
      for column in TDS.columns:
          with self.assertRaises(TypeError):
              op(column, 1000)
          with self.assertRaises(TypeError):
              op(1000, column)
          with self.assertRaises(TypeError):
              op(column, "test")
          with self.assertRaises(TypeError):
              op("test", column)
  
imports: import operator
  from unittest import skipIf
  from nose_parameterized import parameterized
  from pandas import Timestamp, DataFrame
  from pandas.util.testing import assert_frame_equal
  from zipline.lib.labelarray import LabelArray
  from zipline.pipeline import Pipeline
  from zipline.pipeline.data import USEquityPricing
  from zipline.pipeline.data.dataset import Column
  from zipline.pipeline.data.testing import TestingDataSet
  from zipline.pipeline.domain import US_EQUITIES
  from zipline.testing.fixtures import WithSeededRandomPipelineEngine, WithTradingSessions, ZiplineTestCase
  from zipline.utils.numpy_utils import datetime64ns_dtype
  from zipline.utils.pandas_utils import ignore_pandas_nan_categorical_warning, new_pandas, skip_pipeline_new_pandas
label_desc: Use image node_id 4 for calling the LatestTestCase obj's underlying member method code with example usage: obj.test_comparison_errors(op) without return types